---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 新しい Scripted SOAP Web Service の作成

# 新しい Scripted SOAP Web Service の作成 {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：2分

新しい Scripted SOAP Web Service を作成するには、次の例に従ってください。
Web Services Provider - Scripted プラグインを有効にすると、System Web Services アプリケーションで新しいモジュール \[スクリプト利用 Web サービス\] を使用できます。  
図 : 1. Scripted SOAP Web Services

## 例 1：システムプロパティの取得 {#createSOAPwebservice__section_yn2_1y2_f3b}

最初のステップは、受信パラメーターと戻りパラメーターを定義することです。これを行うには、\[入力パラメーター\] と \[出力パラメーター\] にエントリを追加します。これらのパラメーターは意味のある WSDL を構築して表示するために使用され、実際の Web サービス自体を処理する機能を追加するものではありません。  
図 : 2. GetProperty の入力および出力パラメーター

パラメーターは Web サービスのスクリプトで参照されます。入力パラメーターは次の構文を使用して取得されます。

    var a= request.property;

出力パラメーターは次の構文を使用して設定されます。

    response.property="ABC";

次の例は、システムプロパティを取得し、SOAP 応答の一部として返す方法を示しています。この例は、カスタムのスクリプト利用 Web サービスを作成して、ベース ServiceNow システムのダイレクト Web サービスでは実行できない処理を行う方法を示します。  
図 : 3. GetProperty Web サービス

## 例 2：Blackberry の注文 {#createSOAPwebservice__section_zn2_1y2_f3b}

[ダイレクト Web サービス](https://servicenow-prod.fluidtopics.net/18p1hvk7s1aDa__8fEDlXA "適切なアクセス制御リストが設定されている場合は、システム内の任意のテーブルでダイレクト Web サービスを使用できます。")は、テーブルとそのデータを操作します。次の例は、スクリプト利用 Web サービスを呼び出すことによって、Blackberry の注文などのビジネスソリューションを開始する方法を示しています。次の入力パラメーターと出力パラメーターは、 Blackberry の例をサポートしています。  
図 : 4. Blackberry の入力と出力

このスクリプトは、上記のパラメーターを使用して Blackberry を Service Catalog のカートに追加して注文する方法を示しています。要求番号は、SOAP 応答の \[request_number\] フィールドで返されます。

    var cart = new Cart();
    var item = cart.addItem('e2132865c0a8016500108d9cee411699');
    cart.setVariable(item,'original', request.phone_number);
     
    // set the requested for
    var gr = new GlideRecord("sys_user");
    gr.addQuery("user_name", request.requested_for);
    gr.query();

    if(gr.next()){
      var cartGR = cart.getCart();
      cartGR.requested_for = gr.getUniqueValue();
      cartGR.update();
    }
     
    var rc = cart.placeOrder();
    response.request_number= rc.getValue('number');


