新しい Scripted SOAP Web Service の作成

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:2分
  • 新しい Scripted SOAP Web Service を作成するには、次の例に従ってください。

    Web Services Provider - Scripted プラグインを有効にすると、System Web Services アプリケーションで新しいモジュール [スクリプト利用 Web サービス] を使用できます。

    図 : 1. Scripted SOAP Web Services

    Scripted SOAP Web Services

    例 1:システムプロパティの取得

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

    図 : 2. GetProperty の入力および出力パラメーター

    GetProperty の入力パラメーター

    GetProperty の出力パラメーター

    パラメーターは Web サービスのスクリプトで参照されます。入力パラメーターは次の構文を使用して取得されます。
    var a= request.property;
    出力パラメーターは次の構文を使用して設定されます。
    response.property="ABC";

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

    図 : 3. GetProperty Web サービス

    GetProperty Web サービス

    例 2:Blackberry の注文

    ダイレクト Web サービスは、テーブルとそのデータを操作します。次の例は、スクリプト利用 Web サービスを呼び出すことによって、Blackberry の注文などのビジネスソリューションを開始する方法を示しています。次の入力パラメーターと出力パラメーターは、 Blackberry の例をサポートしています。

    図 : 4. Blackberry の入力と出力

    OrderBlackBerry の入力パラメーター

    OrderBlackBerry の出力パラメーター

    このスクリプトは、上記のパラメーターを使用して 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');