Web リクエスト テンプレートの作成と管理

ライセンス:

この機能には、ArcGIS Workflow Manager Server Advanced ロールのライセンスが必要です。

ジョブ アクティビティを使用して Web リクエスト テンプレートを構成すると、ワークフローで特定のジョブ アクティビティが実行された際に、Web リクエストを自動的に REST エンドポイントに送信できます。 たとえば、Web リクエスト テンプレートを構成して、データを取得したり、ジョブが更新された際にサードパーティ システムに更新内容をポストしたりすることができます。 その後、レスポンスをカスタム出力値として格納して、ワークフロー パスを指示したり、ジョブ プロパティを更新したりすることができます。

Web リクエスト テンプレートの作成

Web リクエスト テンプレートを作成するには、次の手順を実行します。

  1. Workflow Manager Web アプリにアクセスします。
  2. [設計] タブをクリックします。

    [設計] ページが開きます。

    注意:

    十分な権限がない場合は、[設計] タブは使用できません。

  3. [テンプレート] Templates をクリックします。
    注意:

    十分な権限がない場合は、[テンプレート] Templates は使用できません。

  4. [Web リクエスト] タブをクリックします。

    [Web リクエスト] パネルが表示されます。

    注意:

    十分な権限がない場合は、[Web リクエスト] タブは使用できません。

  5. [Web リクエスト] パネルの [新規作成] をクリックします。
  6. [名前] テキスト ボックスに、Web リクエスト テンプレートの名前を入力します。
  7. [URL] ドロップダウン矢印をクリックし、送信するリクエストのタイプを選択します。
  8. [URL] テキスト ボックスに REST エンドポイントの URL を入力します。
  9. 必要に応じて、次の構文を使用して URL にパス変数を追加します。
    https://gisserver.domain.com/webadaptorname/apps/workflowmanager/:pathVariable/

    パス変数が [パス変数] セクションに表示されます。

  10. 必要に応じ、Web リクエスト テンプレートにクエリ パラメーターを追加します。
    1. [クエリ パラメーター] セクションで [キーと値の追加] をクリックします。
    2. [キー] テキスト ボックスにキーを入力します。

      ArcGIS Arcadeを使用して動的な値を入力することもできます。

    3. [値] テキスト ボックスに値を入力します。

      ArcGIS Arcadeを使用して動的な値を入力することもできます。

    4. [有効] チェックボックスはオンのままにしておきます。
    5. キー値ペアをさらに追加するには、サブステップ a ~ d を繰り返します。
  11. URL にパス変数を追加した場合は、[パス変数] セクションで各変数の値を入力します。

    ArcGIS Arcadeを使用して動的な値を入力することもできます。

    ヒント:

    [この入力は Arcade 式をサポートします] This input supports Arcade expressions をクリックし、ArcGIS Arcadeを選択して関連するテキスト ボックスに追加します。

  12. [認証] タブをクリックします。
  13. REST エンドポイントの認証方法を選択し、必要に応じて認証情報を入力します。
    注意:

    ステップで入力する認証情報は暗号化されません。 情報を安全に格納するには、動的なジョブ プロパティを使用してステップ内で参照可能な暗号化されたユーザー定義設定を追加します。

    注意:

    [フェデレーション トークン] オプションを使用すると、ステップを実行するユーザーとして Web リクエストを承認できます。 [フェデレーション トークン] オプションは、Workflow Manager と同じ Enterprise サイトに公開されているサービスとのみ互換性があります。

    1. [API キー] または [ベアラー トークン] オプションを選択した場合は、必要に応じて、[または、エンドポイントからトークンを生成する] をクリックします。

      [エンドポイントからのトークンの生成] ダイアログ ボックスが表示されます。

    2. トークン設定を構成して、Web リクエストのトークンを生成します。
  14. 必要に応じて、[ヘッダー] タブをクリックし、カスタム ヘッダーのキー値ペアを Web リクエスト テンプレートに追加します。
    1. [カスタム ヘッダー] セクションで [キーと値の追加] をクリックします。
    2. [キー] テキスト ボックスにキーを入力します。

      ArcGIS Arcadeを使用して動的な値を入力することもできます。

    3. [値] テキスト ボックスに値を入力します。

      ArcGIS Arcadeを使用して動的な値を入力することもできます。

    4. [有効] チェックボックスはオンのままにしておきます。
    5. キー値ペアをさらに追加するには、サブステップ a ~ d を繰り返します。
  15. 必要に応じて、[本文] タブをクリックして、Web リクエストにデータを追加します。

    リクエストの本文は、フォーム データのキー値ペア、URL エンコードされたキー値ペア、および JSON 形式またはプレーン テキスト形式の未加工データをサポートしています。

    ヒント:

    また、ArcGIS Arcade 式を使用して、ユーザー定義設定を取得したり、本文テキストに動的な値を入力したりすることもできます。

  16. 必要に応じて、ArcGIS Workflow Manager Server Advanced ロールのライセンスが付与されている場合は、Web リクエスト テンプレートの出力設定を構成することができます。
    注意:

    テンプレートが構成されているジョブ アクティビティは、Web リクエストの出力値をテストする前に完了している必要があります。

  17. 必要に応じて [テスト] タブをクリックし、[応答のテスト] をクリックして、構成済みのリクエストを送信し、その応答を表示します。

    Web リクエストにジョブ固有の Arcade 条件式が含まれている場合、[ジョブ ID を含める] をオンにし、[ジョブ ID] テキスト ボックスにジョブ ID を入力して、リクエストの書式を適切に設定する必要があります。

トークン設定の構成

REST エンドポイントに認証用のトークンが必要な場合、次の手順を実行して、Web リクエストの認証に使用できるトークンを生成するよう Web リクエスト テンプレートを構成します。

  1. [認証] タブで、[API キー] または [ベアラー トークン] オプションを選択し、[または、エンドポイントからトークンを生成する] をクリックします。

    [エンドポイントからのトークンの生成] 設定が [Web リクエスト] パネルに表示されます。

  2. [URL] ドロップダウン矢印をクリックし、送信するリクエストのタイプを選択します。
  3. [URL] テキスト ボックスに REST エンドポイントの URL を入力します。
  4. 必要に応じて、次の構文を使用して URL にパス変数を追加します。
    https://gisserver.domain.com/webadaptorname/apps/workflowmanager/:pathVariable/

    パス変数が [パス変数] セクションに表示されます。

  5. 必要に応じ、Web リクエストにクエリ パラメーターを追加します。
    1. [クエリ パラメーター] セクションで [キーと値の追加] をクリックします。
    2. [キー] テキスト ボックスにキーを入力します。

      ArcGIS Arcadeを使用して動的な値を入力することもできます。

    3. [値] テキスト ボックスに値を入力します。

      ArcGIS Arcadeを使用して動的な値を入力することもできます。

    4. [有効] チェックボックスはオンのままにしておきます。
    5. キー値ペアをさらに追加するには、サブステップ a ~ d を繰り返します。
  6. URL にパス変数を追加した場合は、[パス変数] セクションで各変数の値を入力します。

    ArcGIS Arcadeを使用して動的な値を入力することもできます。

    ヒント:

    [この入力は Arcade 式をサポートします] This input supports Arcade expressions をクリックし、ArcGIS Arcadeを選択して関連するテキスト ボックスに追加します。

  7. 必要に応じて、[ヘッダー] タブをクリックし、カスタム ヘッダーのキー値ペアを Web リクエストに追加します。
    1. [クエリ パラメーター] セクションで [キーと値の追加] をクリックします。
    2. [キー] テキスト ボックスにキーを入力します。

      ArcGIS Arcadeを使用して動的な値を入力することもできます。

    3. [値] テキスト ボックスに値を入力します。

      ArcGIS Arcadeを使用して動的な値を入力することもできます。

    4. [有効] チェックボックスはオンのままにしておきます。
    5. キー値ペアをさらに追加するには、サブステップ a ~ d を繰り返します。
  8. 必要に応じて、[本文] タブをクリックして、Web リクエストにデータを追加します。

    リクエストの本文は、フォーム データのキー値ペア、URL エンコードされたキー値ペア、および JSON 形式またはプレーン テキスト形式の未加工データをサポートしています。

    ヒント:

    また、ArcGIS Arcade 式を使用して、ユーザー定義設定を取得したり、本文テキストに動的な値を入力したりすることもできます。

  9. [トークン] タブをクリックします。
  10. [トークン] セクションで [モードのテスト] 切り替えボタンをクリックします。
  11. REST エンドポイントのレスポンスの例を [サンプル レスポンス] テキスト ボックスに貼り付けます。

    JSON 形式によるレスポンスの例:

    {"access_token": "12345abcde",
    "expires_in":7199,
    "spatialReference": {
      "wkid": 4326,
      "latestWkid": 4326
    },
    "location": [
      {
        "name": "380 New York Street",
        "extent": {
          "xmin": -117.196701,
          "ymin": 34.055489
        }
      }
    ]}
  12. [出力値] テキスト ボックスにトークンの名前を入力します。

    これは、生成されたトークンを参照する Web リクエスト テンプレートで使用される名前です。

  13. 応答を解析し、生成されたトークンを返す JSONPath 式を [抽出パス] テキスト ボックスにドット記法またはブラケット記法で入力します。

    ドット記法による JSONPath の例:

    $.access_token

    ブラケット記法による JSONPath の例:

    $['access_token']

    値は [サンプル結果] 列に表示されます。

  14. [戻る] をクリックして、Web リクエストの構成を続行します。

出力設定の構成

ライセンス:

この機能には、ArcGIS Workflow Manager Server Advanced ロールのライセンスが必要です。

REST エンドポイントのレスポンスをファイルとして保存し、テンプレートに添付したり、カスタム出力値として構成したりすることができます。 出力値は、ワークフロー パスの指示に使用したり、ステップの入力値として使用したりすることができます。 テンプレートに出力値が構成されていない場合は、リクエストの HTTP ステータス コードがテンプレートの出力値として格納されます。 テンプレートの出力設定を構成するには、以下の手順を実行します。

  1. [出力] タブをクリックします。
  2. 必要に応じて、[レスポンスの添付] セクションの [有効] 切り替えボタンをクリックし、REST エンドポイントのレスポンスをファイルとして保存して、テンプレートに添付します。
  3. 必要に応じて、添付ファイル名とレスポンスの格納先のフォルダーを構成します。
    1. 添付ファイルが格納されるフォルダーの名前を [フォルダー名] テキスト ボックスに入力します。

      フォルダー名にファイル システム パスまたは特殊文字を含めることはできません。 フォルダー名が入力されていない場合、General という名前のフォルダーが自動的に作成されます。

      注意:

      フォルダーは、ワークフロー アイテム内に含まれるため、ファイル システム パスではありません。

    2. 次の [添付ファイル名] オプションのうちの 1 つを選択します。
      • [自動生成] - 構文 (<StepName>_<RunDate>_<RunTime>) に従って、添付ファイル名を自動的に付与します。
      • [カスタム] - カスタムの添付ファイル名を入力できます。
  4. 必要に応じて、REST エンドポイントのレスポンスに対するカスタム出力値を構成します。
    1. [出力値] セクションの [モードのテスト] 切り替えボタンをクリックします。
    2. REST エンドポイントのレスポンスの例を [サンプル レスポンス] テキスト ボックスに貼り付けます。

      JSON 形式によるレスポンスの例:

      {"access_token": "",
      "expires_in":7199,
      "spatialReference": {
        "wkid": 4326,
        "latestWkid": 4326
      },
      "location": [
        {
          "name": "380 New York Street",
          "extent": {
            "xmin": -117.196701,
            "ymin": 34.055489
          }
        }
      ]}
    3. [出力とパスの追加] をクリックします。
    4. [出力値] テキスト ボックスに出力値の名前を入力します。

      これは、カスタム出力値の取得に使用される値の名前です。

    5. [抽出パス] テキスト ボックスに格納する値の JSONPath 式をドット記法またはブラケット記法で入力します。

      ドット記法による JSONPath の例:

      $.location.0.name

      ブラケット記法による JSONPath の例:

      $['location'][0]['name']

      値は [サンプル結果] 列に表示されます。

    6. 必要に応じて、サブステップ c ~ e を繰り返し、さらにカスタム出力値を追加します。
  5. [保存] をクリックして変更内容を保存します。

Web リクエスト テンプレートの編集

Web リクエスト テンプレートを編集するには、次の手順を実行します。

  1. Workflow Manager Web アプリにアクセスします。
  2. [設計] タブをクリックします。

    [設計] ページが開きます。

    注意:

    十分な権限がない場合は、[設計] タブは使用できません。

  3. [テンプレート] Templates をクリックします。
    注意:

    十分な権限がない場合は、[テンプレート] Templates は使用できません。

  4. [Web リクエスト] タブをクリックします。

    [Web リクエスト] パネルが表示されます。

    注意:

    十分な権限がない場合は、[Web リクエスト] タブは使用できません。

  5. [Web リクエスト] パネルで編集する Web リクエストの名前をクリックします。
    ヒント:

    [Web リクエスト テンプレートの検索] テキスト ボックスに検索語句を入力することで、[Web リクエスト] パネルの Web リクエストのリストをフィルターすることができます

  6. 必要に応じて、Web リクエストを更新します。
  7. [保存] をクリックして変更内容を保存します。

Web リクエスト テンプレートの削除

Web リクエスト テンプレートを削除すると元に戻せません。 Web リクエスト テンプレートを削除するには、次の手順を実行します。

  1. Workflow Manager Web アプリにアクセスします。
  2. [設計] タブをクリックします。

    [設計] ページが開きます。

    注意:

    十分な権限がない場合は、[設計] タブは使用できません。

  3. [テンプレート] Templates をクリックします。
    注意:

    十分な権限がない場合は、[テンプレート] Templates は使用できません。

  4. [Web リクエスト] タブをクリックします。

    [Web リクエスト] パネルが表示されます。

    注意:

    十分な権限がない場合は、[Web リクエスト] タブは使用できません。

  5. [Web リクエスト] パネルで削除する Web リクエストの名前をクリックします。
    ヒント:

    [Web リクエスト テンプレートの検索] テキスト ボックスに検索語句を入力することで、[Web リクエスト] パネルの Web リクエストのリストをフィルターすることができます

  6. [その他のアクション] More Actions をクリックし、[削除] をクリックします。

    確認のメッセージが表示されます。

  7. Web リクエストを削除する場合は [はい] をクリックし、キャンセルする場合は [いいえ] をクリックします。

関連トピック