3

.NetからServiceNowのWebサービスを呼び出そうとしていますが、レコードを挿入するために正常に機能させることができますが、を機能させることができませんGET。これが私の作業INSERTコードです:

public void insertTable(string tableName, string schema, string columnInfo, string shortDesrcipt, string longDescript)
{
    using (ServiceNow_u_database_table tableReference = new ServiceNow_u_database_table())
    {
        insertResponse response = new insertResponse();

        System.Net.ICredentials cred = new System.Net.NetworkCredential(Properties.Settings.Default.UserName, Properties.Settings.Default.Password);
        tableReference.Credentials = cred;

        insert tableInsert = this.getTableData(tableName, schema, columnInfo, shortDesrcipt, longDescript);
        try
        {
            response = tableReference.insert(tableInsert);
        }
        catch (Exception error)
        {
            Console.WriteLine(error.Message);
        }
    }
}

それはうまくいきます。で機能しないコードは次のGETとおりです。

using (ServiceNow_u_database_table tableReference = new ServiceNow_u_database_table())
{
    ServiceNowExport.com.servicenow.libertydev.u_database_table.getRecords recordGet = new getRecords();
    System.Net.ICredentials cred = new System.Net.NetworkCredential(Properties.Settings.Default.UserName, Properties.Settings.Default.Password);
    tableReference.Credentials = cred;

    recordGet.name = this._tablePrefix + tableName;
    getRecordsResponseGetRecordsResult[] response = tableReference.getRecords(recordGet);
    if (response != null && response.Count() > 0)
    {
        return true;
    }
}

そのコードを実行すると、responseは常にnullです。このページの指示に従っています。

クレデンシャルラインを強制終了すると、不正なエラーが発生するため、接続していることがわかります。私がここで間違っていることについて何か考えはありますか?ありがとう!

4

2 に答える 2

8

C#WebサービスのServiceNow wikiから:ここ

クライアントコードでWebサービスから「null」応答を受信して​​いる場合は、elementFormDefault設定を「False」に設定するためのこのチュートリアルの手順を見逃している可能性があります...後でWSDLに対してコードを再コンパイルすることを忘れないでくださいこの設定を変更して保存しました。

このプロパティは、ServiceNowインスタンス内の[システムプロパティ]>[Webサービス]にあります。falseに設定すると、getRecords応答からnullを受信しなくなります。

プロパティのスクリーンショットは次のとおりです。 画像のスクリーンショット

于 2012-05-13T02:13:06.053 に答える
0

興味があれば、いくつかの情報を取得してservicenowに入れるための一連のsoapクラスを作成しました。現時点では、私が仕事でできる必要があることだけにかなり制限されていますが、誰にとってもうまくいくはずです。

https://github.com/jeffpatton1971/mod-ServiceNOW

お気軽にチェックしてください

于 2015-02-10T17:53:09.713 に答える