Scripted SOAP Web Services

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む3読むのに数分
  • Scripted SOAP Web Services により、ServiceNow 管理者はカスタム受信 SOAP Web Services を作成できます。

    SOAP Web Service の入力パラメーターと出力パラメーターを定義し、JavaScript を使用して操作を実行できます。この機能は非常に強力ですが、可能な場合は、実装と管理が簡単なダイレクト Web サービスまたは SOAP Web サービスインポートセットを使用してください。

    セキュリティ

    Scripted SOAP Web Services にはすべての SOAP Web Services と同じ基底セキュリティオプションがあります。SOAP Web Services のセキュリティの詳細については、「SOAP Web サービスのセキュリティ」を参照してください。

    システムに厳格なセキュリティが適用されている場合、HTTP 認証されたユーザーがスクリプト化された Web サービスを実行するには soap_script ロールが必要です。

    WSDL

    すべての ServiceNow テーブルとインポートセットは、そのテーブルスキーマと利用可能な操作を記述する Web サービス定義言語 (WSDL) XML ドキュメントを動的に生成します。

    WSDL 準拠の適用

    WSDL で定義されているのと同じ順序で応答の出力値をリストできます。

    Scripted SOAP Web Service を作成すると、入力パラメーターと出力パラメーターの関連リストに基づいて WSDL が生成されます。スクリプト化されたサービスによって送信される実際の SOAP 応答は、[スクリプト] によって決定されます。この動作により、WSDL で定義されているものとは異なる順序でスクリプトから出力値が返される可能性があります。

    関連リストで定義された出力パラメーターの順序を強制するには、[WSDL コンプライアンス] チェックボックスをオンにします。このチェックボックスをオンにすると、Web サービスは WSDL の順序と一致するようにスクリプトによって返されるパラメーターを並べ替えます。
    注:
    追加の応答パラメーターがスクリプトによって返されても、応答パラメーターの関連リストで定義されていない場合、それらのパラメーターは [WSDL コンプライアンス] の選択時に応答から除外されます。
    表 : 1. 出力パラメーターの関連リスト
    パラメーター 順番
    Param 1 200
    Param 2 300
    Param 3 100

    定義された出力パラメーターの値を設定するスクリプトは次のとおりです。このスクリプト例では、パラメーターは出力パラメーターの関連リストで定義されている順序とは異なることに注意してください。関連リストで定義されていない追加のパラメーター param4 にも注意してください。

    Response.param1 = 1;
    Response.param4 = 4;
    Response.param3 = 3;

    [WSDL コンプライアンス] チェックボックスが [false] の場合、スクリプトによって生成される SOAP 応答は次のようになります。

    <response>
                    <param1>1</param1>
                    <param4>4</param1>
                    <param3>3</param1>
    </response>
    [WSDL コンプライアンス] チェックボックスが [true] の場合、スクリプトによって生成される SOAP 応答は次のようになります。
    <response>
                    <param3>3</param1>
                    <param1>1</param1>
    </response>

    スタティック WSDL

    一部の Web サービスクライアントでは、特定の WSDL 形式を使用したインスタンスへの SOAP アクセスが必要です。この必須形式は、標準の ServiceNow WSDL 形式とは異なる場合があります。この場合、必須形式に一致するスタティック WSDL を作成できます。

    グローバル変数

    受信 SOAP 要求のカスタム処理を容易にするために、スクリプトコンテキストで次のグローバル変数を使用できます。
    • soapRequestDocument:受信 SOAP エンベロープを表す Java org.w3c.dom.Document オブジェクト。
    • soapRequestXML:受信 SOAP エンベロープ XML を表す文字列オブジェクト。
    • request:受信 SOAP エンベロープのマッピングされた値 (入力パラメーター名にマッピング) を含む Javascript オブジェクト。
    • response:応答値をカスタマイズできる Javascript オブジェクト。「応答のカスタマイズ」を参照してください。