インポートセット Web サービスの作成

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:4分
  • Web サービスインポートセットテーブルを作成して、インポートされたデータをステージングして変換する方法を定義します。

    移動先 すべて > System Web Services > インバウンド > 新規作成.

    図 : 1. Web サービスの作成

    Web サービスの [名前] はインポートセットテーブルのテーブル名ですが、[ラベル] フィールドは結果のテーブルフィールドです。

    Web サービスの作成後に変換マップを作成する場合は、[変換マップを作成] チェックボックスをオンにして、データを変換するターゲットテーブルを選択します。[作成] ボタンを選択すると、Web サービスが作成され、すぐに [テーブル変換マップ] フォームに移動します。その後、引き続き変換マップまたはスクリプトを指定できます。

    Web サービスフィールド

    この Web サービスで利用可能なフィールド。デフォルトでは、すべてのフィールドが xsd:string の XSD タイプとして公開されます。[名前] は Web サービスに公開されるフィールドであるため、WSDL のフィールドの名前として表示されます。[ラベル] は、インポートセットテーブルに表示されるフィールドのラベルです。

    このリストの既存の Web サービスフィールドを [追加][削除] にマーク、または変更 (フィールドをダブルクリック) することができます。
    注:
    Web サービスフィールドを追加した後、[作成] をクリックして Web サービスインポートセットテーブルを作成します。

    Web サービスの作成後に他のフィールドを追加するには、ターゲットテーブルを検索し、そのテーブルにフィールドを追加します。

    Web サービスインポートセットのマッピング

    Web サービスインポートセットの作成中に、オプションでその変換マップを作成できます。

    サービスが呼び出され、インポートセットモードが [同期] (デフォルト) に設定されている場合、そのサービスに対してすべての変換マップが実行されます。

    次の画像は、通知 Web サービスインポートセットに関連付けられた変換マップの例です。
    図 : 2. 通知変換マップ

    Web サービス応答値の追加

    Web サービスインポートセットに関連付けられた変換マップスクリプトでは、一部の変数値によって Web サービスの応答値が変更される可能性があります。変換マップスクリプトで使用できる通常の変数に加えて、次のテーブルには使用可能な変数とその影響が記載されています。
    表 : 1. Web サービス応答値の追加
    変数名 タイプ 説明
    response 出力オブジェクト Web サービスインポートセット挿入の出力応答をカスタマイズするために使用される、動的に作成された応答要素を保持する Javascript オブジェクト。

    // create new elements called "transaction_id" 
    // and "hello" in the web service response
    response.transaction_id="abc123";
    response.hello="world";
     
    status_message="message 1";
    // this is the normal status_message variable
    コードスニペットの例では、Web サービスコンシューマーに対して次の応答が生成されます
    <soapenv:Envelopexmlns:imp="http://www.service-now.com/imp_notification"                  
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header/><soapenv:Body>
    <insertResponse xmlns="http://www.service-now.com/imp_notification">
      <sys_id>969d157c0a0a0baf008ba5770ffa798c</sys_id>
      <table>incident</table>
      <display_name>number</display_name>
      <display_value>INC0010091</display_value>
      <status>inserted</status>
      <status_message>message 1</status_message>
      <transaction_id>abc123</transaction_id>
      <hello>world</hello>
    </insertResponse>
    </soapenv:Body></soapenv:Envelope>

    Web サービスインポートセットのデバッグ

    システムに送られる SOAP 要求をデバッグするには、システムプロパティ glide.processor.debug.SOAPProcessor を作成します。

    作成したら true に設定すると、すべての SOAP 要求がシステムログに記録されます。システムログのサイズを管理された長さに維持する場合は、false に設定します。