SOAPMessageV2 - スコープ対象、グローバル

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:23分
  • SOAPMessageV2 API は、JavaScript を使用して送信 SOAP メッセージを送信するメソッドを提供します。

    この API を使用して、SOAP プロバイダーによって返される応答を管理します。

    この API は、スコープ対象のアプリケーションまたはグローバルスコープ内で使用できます。この API は sn_ws 名前空間で実行されます。

    SOAPMessageV2:SOAPMessageV2()

    空の SOAPMessageV2 オブジェクトをインスタンス化します。

    この方法でインスタンス化されたオブジェクトを使用する場合は、SOAP アクションとエンドポイントを手動で指定する必要があります。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2();

    SOAPMessageV2 - SOAPMessageV2(文字列 soapMessage, 文字列 soapFunction)

    SOAP メッセージレコードと、そのレコードに関連付けられた関数から SOAPMessageV2 オブジェクトをインスタンス化します。

    SOAP メッセージレコードのエンドポイント、認証、 MID サーバー 設定などの値がこのオブジェクトに適用されます。

    表 : 2. パラメーター
    名前 タイプ 説明
    soapメッセージ 文字列 このオブジェクトのベースとして使用する SOAP メッセージレコード。
    soapFunction 文字列 実行する SOAP 関数。使用可能な SOAP 関数は、Web サービスプロバイダーによって提供される WSDL によって異なります。
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.

    SOAPMessageV2 - execute()

    SOAP メッセージをエンドポイントに送信します。

    このメソッドは同期的に呼び出します。つまり、スクリプトの実行は、呼び出しが完了するまで待ってから続行します。

    この方法を使用する場合の考慮事項:
    • この方法は、クイックサービス呼び出しにのみ使用します。このメソッドは、どんなに高速なサービスであっても、大量に呼び出さないでください。
    • このメソッドは、タイムアウトが非常に短い場合にのみ使用してください。使用しないと、インスタンスが停止する可能性があります。タイムアウト期間を制御するプロパティには、 glide.http.timeoutglide.http.connection_timeoutの 2 つのプロパティがあります。デフォルトでは、これらのタイムアウトはそれぞれ 175 秒と 10 秒に設定されています。
    • 一般に、要求が MID サーバーを経由する必要がある場合は、このメソッドを使用しないでください。 MID サーバー 要求は、非同期キューである外部通信チャネル (ECC) キューを通過する必要があります。スレッドは要求自体によって保留されるだけでなく、 MID サーバー がインスタンスに応答するのを待っている間も保留されます。MID サーバーが関係している場合は、センサービジネスルールで非同期呼び出しを使用します。
    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 返される内容
    タイプ 説明
    SOAPResponseV2 SOAP プロバイダーによって返される応答。
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute(); //Might throw exception if http connection timed out or some issue with sending request itself because of encryption/decryption of password.

    SOAPMessageV2 - executeAsync()

    SOAP メッセージを外部通信チャネル (ECC) キューに送信します。

    ECC キュー内の SOAP メッセージは、SOAPClient ビジネスルールによって処理されます。

    デフォルトでは、このビジネスルールは非同期的に実行されません。このビジネスルールを非同期で実行するように構成するには、[時期] の値を [非同期] に設定し、スクリプトの末尾に current.update() を追加します。インスタンスは、ECC キューを介してメッセージを送信するときに Web サービスプロバイダーからの応答を待機しません。

    表 : 5. パラメーター
    名前 タイプ 説明
    なし
    表 : 6. 返される内容
    タイプ 説明
    SOAPResponseV2 - スコープ、グローバル SOAP プロバイダーによって返される応答。
    注:
    応答が処理される前に SOAP 応答オブジェクトを使用しようとすると、タイムアウトエラーが発生する可能性があります。
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.executeAsync();

    SOAPMessageV2:getEndpoint()

    SOAP メッセージのエンドポイントを取得します。

    表 : 7. パラメーター
    名前 タイプ 説明
    なし
    表 : 8. 返される内容
    タイプ 説明
    文字列 SOAP Web サービスプロバイダーの URL。
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    var endpoint = sm.getEndpoint();

    SOAPMessageV2:getRequestBody()

    SOAP メッセージ本文の内容を返します。

    注:
    getRequestBody() メソッドを呼び出す前に、execute() メソッドを呼び出して応答オブジェクトを取得する必要があります。
    表 : 9. パラメーター
    名前 タイプ 説明
    なし
    表 : 10. 返される内容
    タイプ 説明
    文字列 SOAP メッセージ本文。
    var sm = new sn_ws.SOAPMessageV2("StockQuote","StockQuoteSoap.GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    var response = sm.execute();
    var requestBody = response.getRequestBody();

    SOAPMessageV2 - getRequestHeader(文字列 headerName)

    SOAP クライアントによって指定された HTTP ヘッダーの値を取得します。

    デフォルトでは、このメソッドはシステムによって自動的に設定されたヘッダーの値を返すことはできません。このメソッドにすべてのヘッダーへのアクセスを許可するには、プロパティ glide.http.log_debug を true に設定します。

    表 : 11. パラメーター
    名前 タイプ 説明
    headerName 文字列 値を取得する要求ヘッダー。
    表 : 12. 返される内容
    タイプ 説明
    文字列 指定されたヘッダーの値。
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    var header = sm.getRequestHeader("Accept");

    SOAPMessageV2 - getRequestHeaders()

    SOAP クライアントによって設定された HTTP ヘッダーと関連する値を取得します。

    このメソッドは、システムによって自動的に設定されたヘッダーを返しません。すべてのヘッダーを返すようにこのメソッドを構成するには、プロパティ glide.http.log_debug を true に設定します。

    表 : 13. パラメーター
    名前 タイプ 説明
    なし
    表 : 14. 返される内容
    タイプ 説明
    オブジェクト 各ヘッダーの名前を関連する値にマップするオブジェクト。
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    var requestHeaders = sm.getRequestHeaders();

    SOAPMessageV2 - setAllowedRedirectURI (アレイ URI)

    リダイレクト先を許可する 1 つ以上の URI を設定します。許可された送信 URI を制御することで、セキュリティ上の懸念が軽減され、ユーザーを悪意のあるサイトに誘導する URL リダイレクト攻撃を防ぐことができます。

    URI をリダイレクトするより包括的な方法については、「 UriMatcher :スコープ対象」を参照してください。

    表 : 15. パラメーター
    名前 タイプ 説明
    URI アレイ リダイレクトが許可されている 1 つ以上の URI。各 URI は「文字列」形式でリストする必要があります。
    表 : 16. 返される内容
    タイプ 説明
    なし

    次の例は、SOAP メッセージ関数のリダイレクトが許可されている URL のリストを追加する方法を示しています。

    // Redirection URI Allow list
    try {
    	var sm = new sn_ws.SOAPMessageV2('TemperatureConvert', 'TempConvertHttpPost.FahrenheitToCelsius');
    	sm.setAllowedRedirectURIs(['https://www.w3schools.com/', 'https://www.google.com']);
    
    	sm.execute();
    
    } catch(ex) {
    	var message = ex.getMessage();
    }

    SOAPMessageV2 - setBasicAuth(文字列 userName, 文字列 userPass)

    SOAP メッセージのベーシック認証ヘッダーを設定します。

    この方法を使用してベーシック認証ヘッダーを設定すると、SOAP メッセージレコードで定義されているベーシック認証値が上書きされます。

    表 : 17. パラメーター
    名前 タイプ 説明
    userName 文字列 SOAP メッセージを認証するときに使用するユーザー名。
    ユーザーパス 文字列 指定されたユーザーのパスワード。
    表 : 18. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setBasicAuth("username","password");

    SOAPMessageV2 - setEccCorrelator(文字列コリレーター)

    送信要求とその結果の応答レコードを ECC キューに関連付けます。

    この方法は、MID サーバー経由で送信される SOAP メッセージにのみ適用されます。指定されたコリレーターは、応答の ECC キューレコードの [ エージェントコリレーター ] フィールドに入力されます。MID サーバーを介して非同期自動化を設計するときに、ECC キュー内の正しい結果を要求に関連付けるために、各送信要求に一意のコリレーターを指定します。

    表 : 19. パラメーター
    名前 タイプ 説明
    コリレーター 文字列 一意の識別子
    表 : 20. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setEccCorrelator("unique_id");

    SOAPMessageV2 - setEccParameter(文字列名, 文字列値)

    SOAP メッセージペイロードに書き込むことによって、データベースの値を上書きします。

    このメソッドは、 MID サーバーを介して送信される SOAP メッセージにのみ適用されます。このメソッドは、エンドポイント URL が SOAP エンドポイント フィールドの最大長よりも長い場合など、データベース内の SOAP メッセージの値が無効な場合に使用します。

    これらは name パラメーターの有効な値です。
    • source:エンドポイント URL。
    • name:実行する SOAP メッセージ関数。
    表 : 21. パラメーター
    名前 タイプ 説明
    name 文字列 ECC パラメーターの名前。
    value 文字列 指定された ECC パラメーターに割り当てる値。
    表 : 22. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setEccParameter("source","http://very.long.endpoint");

    SOAPMessageV2:setEndpoint(文字列エンドポイント)

    SOAP メッセージのエンドポイントを設定します。

    デフォルトでは、SOAP メッセージは、SOAP メッセージレコードで指定されたエンドポイントを使用します。このメソッドを使用して、デフォルトを上書きします。パラメーターなしで SOAPMessageV2() コンストラクタを使用する場合は、このメソッドを呼び出す必要があります。

    表 : 23. パラメーター
    名前 タイプ 説明
    endpoint 文字列 インターフェイスする SOAP Web サービスプロバイダーの URL。
    表 : 24. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2();
    sm.setEndpoint("http://web.service.endpoint");

    SOAPMessageV2 - setFollowRedirect(ブール値:followRedirect)

    自動 HTTP リダイレクトを制御する API のパラメーターを設定します。デフォルトでは、自動リダイレクトはオフになっています。

    HTTP リダイレクトの詳細については、「 HTTP でのリダイレクト」を参照してください。

    表 : 25. パラメーター
    名前 タイプ 説明
    フォローリダイレクト ブーリアン SOAPMessageV2 呼び出しの実行時に発生したリダイレクトを API が自動的にたどるかどうかを示すフラグ。
    有効な値:
    • true:自動的にリダイレクトに従います。
    • false:リダイレクトに自動的に従わないようにします。コード内のすべてのリダイレクト条件を処理する必要があります。
    表 : 26. 返される内容
    タイプ 説明
    なし

    次のコード例は、自動リダイレクトを設定し、API にリダイレクトを処理させる方法を示しています。

    var sMessage = new sn_ws.SOAPMessageV2(); //Create an empty SOAP message
    sMessage.setBasicAuth('admin','admin');
    sMessage.setSOAPAction('http://www.service-now.com/incident/insert'); //set the SOAP action to perform
    sMessage.setEndpoint('http://<instance>.service-now.com/incident.do?SOAP'); //set the web service provider endpoint
    sMessage.setRequestBody('<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:inc=\"http://www.service-now.com/incident\"><soapenv:Header/><soapenv:Body><inc:insert><short_description>Test Dynamic SOAP</short_description></inc:insert></soapenv:Body></soapenv:Envelope>');
    sMessage.setFollowRedirect(true);
    var response = sMessage.execute();
    gs.info(response.getStatusCode());
    

    出力:

    200

    次のコード例は、false に設定された自動リダイレクトを示しています。返されるステータスコードはリダイレクトコードです。この場合、コード内でリダイレクトを処理する必要があります。

    var sMessage = new sn_ws.SOAPMessageV2(); //Create an empty SOAP message
    sMessage.setBasicAuth('admin','admin');
    sMessage.setSOAPAction('http://www.service-now.com/incident/insert'); //set the SOAP action to perform
    sMessage.setEndpoint('http://<instance>.service-now.com/incident.do?SOAP'); //set the web service provider endpoint
    sMessage.setRequestBody('<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:inc=\"http://www.service-now.com/incident\"><soapenv:Header/><soapenv:Body><inc:insert><short_description>Test Dynamic SOAP</short_description></inc:insert></soapenv:Body></soapenv:Envelope>');
    sMessage.setFollowRedirect(false);
    var response = sMessage.execute();
    gs.info(response.getStatusCode());
    

    出力:

    3xx  // Redirect status code

    SOAPMessageV2 - setHttpTimeout(数 timeoutMs)

    要求がタイムアウトするまでに SOAP メッセージが Web サービスプロバイダーからの応答を待機する時間を設定します。

    表 : 27. パラメーター
    名前 タイプ 説明
    timeoutM 番号 Web サービスプロバイダーからの応答を待機する時間 (ミリ秒)。
    表 : 28. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setHttpTimeout(6000);

    SOAPMessageV2:setLogLevel(文字列レベル)

    このメッセージと対応する応答のログレベルを設定します。

    SOAPMessageV2 API を使用してログレベルを設定すると、SOAP メッセージレコードで構成されたログレベルが上書きされます。エンドポイントドメインが除外されている場合、またはプロパティ glide.outbound_http_log.override が true の場合、このログレベルは適用されないことがあります。送信 Web サービスログを表示するには、 システムログ > 送信 HTTP 要求.

    表 : 29. パラメーター
    名前 タイプ 説明
    level 文字列 ログレベル。
    有効な値:
    • all
    • basic
    • 昇格
    表 : 30. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setLogLevel("all");

    SOAPMessageV2 - setMIDServer(文字列 midServerName)

    MID サーバーを介して送信される SOAP メッセージを構成します。

    デフォルトでは、SOAP メッセージは、SOAP メッセージ関数レコードで指定された MID サーバー を使用します。このメソッドを使用して、デフォルトを上書きします。

    表 : 31. パラメーター
    名前 タイプ 説明
    midServer名 文字列 SOAP メッセージを送信する MID サーバー の名前。インスタンスには、指定された名前のアクティブな MID サーバー が必要です。
    表 : 32. 返される内容
    タイプ 説明
    なし

    SOAPMessageV2 - setMutualAuth(文字列 profileName)

    SOAP メッセージの相互認証プロトコルプロファイルを設定します。

    この方法を使用してプロトコルプロファイルを設定すると、SOAP メッセージレコードに対して選択されたプロトコルプロファイルが上書きされます。

    表 : 33. パラメーター
    名前 タイプ 説明
    profileName 文字列 相互認証に使用するプロトコルプロファイルの名前。
    表 : 34. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setMutualAuth("auth_profile_name");

    SOAPMessageV2:setRequestBody(文字列 requestBody)

    Web サービスプロバイダーに送信する本文コンテンツを設定します。

    このメソッドを使用して本文のコンテンツを設定すると、本文内の変数が SOAP メッセージ関数レコードのパラメーターに置き換えられません。SOAP メッセージ本文内のすべての値を明示的に定義する必要があります。

    表 : 35. パラメーター
    名前 タイプ 説明
    requestBody 文字列 SOAP メッセージの本文。
    表 : 36. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    var body = "<SOAP message body>";
    sm.setRequestBody(body);

    SOAPMessageV2 - setRequestHeader(文字列 headerName, 文字列 headerValue)

    SOAP メッセージ内の HTTP ヘッダーを指定された値に設定します。

    表 : 37. パラメーター
    名前 タイプ 説明
    headerName 文字列 ヘッダーの名前。
    headerValue 文字列 指定されたヘッダーにアサインする値。
    表 : 38. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setRequestHeader("Accept","Application/json");

    SOAPMessageV2 - setSOAPAction(文字列 soapAction)

    この SOAP メッセージが実行する SOAP アクションを定義します。

    Web サービスプロバイダーの WSDL には、実行できる SOAP アクションがリストされています。パラメーターなしで SOAPMessageV2() コンストラクタを使用する場合は、このメソッドを呼び出す必要があります。

    表 : 39. パラメーター
    名前 タイプ 説明
    soapAction 文字列 この SOAP メッセージが実行する SOAP アクション。
    表 : 40. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2();
    sm.setSOAPAction("GetQuote");
    //construct SOAP message by specifying endpoint and auth
    sm.execute();

    SOAPMessageV2 - setStringParameter(文字列名, 文字列値)

    SOAP メッセージレコードから指定された名前の変数を指定された値に設定します。

    値内の XML 予約文字は、同等のエスケープ文字に変換されます。

    表 : 41. パラメーター
    名前 タイプ 説明
    name 文字列 SOAP メッセージ変数の名前。
    value 文字列 指定された変数にアサインする値。
    表 : 42. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setStringParameter("symbol","NOW");

    SOAPMessageV2 - setStringParameterNoEscape(文字列名, 文字列値)

    SOAP メッセージレコードから指定された名前の変数を指定された値に設定します。

    このメソッドは setStringParameter と同等ですが、XML の予約文字をエスケープしません。

    表 : 43. パラメーター
    名前 タイプ 説明
    name 文字列 SOAP メッセージ変数の名前。
    value 文字列 指定された変数にアサインする値。
    表 : 44. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setStringParameterNoEscape("symbol","NOW");

    SOAPMessageV2 - setWSSecurity(文字列 keystoreId, 文字列 keystoreAlias, 文字列 keystorePassword, 文字列 certificateId)

    SOAP メッセージの Web サービスセキュリティ値を設定します。

    この方法を使用してセキュリティ値を設定すると、SOAP メッセージレコードに定義された Web サービスセキュリティ値が上書きされます。

    表 : 45. パラメーター
    名前 タイプ 説明
    キーストア ID 文字列 使用する Java または PKCS12 キーストアのSys_id。
    キーストアエイリアス 文字列 公開鍵と秘密鍵を識別するエイリアス。
    キーストアパスワード 文字列 キーストアレコードに割り当てられたパスワード。
    certificateid 文字列 信頼できるサーバー証明書のSys_id。
    表 : 46. 返される内容
    タイプ 説明
    なし
    var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
    sm.setWSSecurity("70d65e074f3812001f6eac118110c71a","Quote keys","UXr82cqX75Z7MaSa+EyjGA==","ba969a074f3812001f6eac118110c76d");