スクリプト済み SOAP Web サービス
Scripted SOAP Web Services により、ServiceNow 管理者はカスタム受信 SOAP Web Services を作成できます。
SOAP Web サービスの入力パラメーターと出力パラメーターを定義し、JavaScript を使用して操作を実行できます。この機能は非常に強力ですが、実装と保守が簡単なため、 可能な限りダイレクト Web サービス または SOAP Web サービスインポートセット を使用してください。
セキュリティ
スクリプト化された SOAP Web サービスには、すべての SOAP Web サービスと同じ基本セキュリティオプションがあります。SOAP Web Services のセキュリティの詳細については、「 SOAP Web Services のセキュリティ」を参照してください。
システムに 厳格なセキュリティ が適用される場合、HTTP 認証ユーザーは、スクリプト化された Web サービスを実行するための soap_script ロールを持っている必要があります。
WSDL
すべての ServiceNow テーブルとインポートセットは、テーブルスキーマと使用可能な操作を記述する Web サービス定義言語 (WSDL) XML ドキュメントを動的に生成します。
WSDL コンプライアンスの強制
WSDL で定義されている順序で出力値をリストするように応答を強制することができます。
スクリプト化された SOAP Web サービスを作成すると、生成される WSDL は [入力パラメーター] 関連リストと [出力パラメーター] 関連リストに基づきます。スクリプト化されたサービスによって送信される実際の SOAP 応答は、 スクリプトによって決定されます。この動作により、スクリプトは WSDL で定義されている順序とは異なる順序で出力値を返す可能性があります。
| パラメーター | 順序 |
|---|---|
| Param 1 | 200 |
| Param 2 | 300 |
| パラメーター 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>
<response>
<param3>3</param1>
<param1>1</param1>
</response>スタティック WSDL
一部の Web サービスクライアントでは、特定の WSDL 形式を介してインスタンスへの SOAP アクセスが必要です。この必須形式は、標準の ServiceNow WSDL 形式とは異なる場合があります。このような場合は、必要な形式に一致する静的 WSDL を作成できます。
グローバル変数
- soapRequestDocument:着信 SOAP エンベロープを表す Java org.w3c.dom.Document オブジェクト。
- soapRequestXML:受信 SOAP エンベロープ XML を表す文字列オブジェクト。
- request:受信 SOAP エンベロープのマップされた値 (入力パラメーター名にマップされた) を含む Javascript オブジェクト。
- response:応答値をカスタマイズできる Javascript オブジェクト。「応答のカスタマイズ」を参照してください