创建和管理 web 请求模板

可以使用作业活动配置 web 请求模板,以便在工作流中执行特定作业活动时,自动向 REST 端点发送 web 请求。 例如,可将 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 密钥Bearer 令牌选项,单击或者从端点生成令牌

      随即显示从端点生成令牌对话框。

    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 请求。

配置输出设置

可以将 REST 端点响应另存为文件,将其附加到模板,并将其配置为自定义输出值。 输出值可用于导向工作流路径或者用作步骤的输入。 如果未配置模板的输出值,则请求的 HTTP 状态代码将存储为模板的输出值。 要配置模板的输出设置,请完成以下步骤:

  1. 单击输出选项卡。
  2. 或者,在附加响应部分中单击已启用切换按钮,将 REST 端点响应另存为文件并将其附加到模板。
  3. (可选)配置附件名称以及将用于存储响应的文件夹:
    1. 文件夹名称文本框中提供将存储附件的文件夹的名称。

      文件夹名称不能包含文件系统路径或特殊字符。 如果未提供文件夹名称,将自动创建名为 General 的文件夹。

      注:

      文件夹包含在工作流项目中,并且不是文件系统路径。

    2. 选择以下附件名称选项之一:
      • 自动生成 - 使用以下语法自动对附件进行命名:<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 请求,或单击以取消操作。

相关主题