添加和配置“发送 Web 请求”

“发送 Web 请求”步骤用于将请求发送至 REST 端点以获取数据或提交更新。 如果 Workflow Manager 已使用 ArcGIS Workflow Manager Server Advanced 角色进行许可,则可以将 REST 端点的响应配置为自定义输出值,将其另存为文件以及将其附加到作业。 自定义输出值可用于调用后续 REST 调用的令牌,确定工作流遵循的路径或用作整个工作流中其他步骤的输入

运行步骤时,web 请求将发送至在步骤中定义的 REST 端点。

可通过单击完成步骤按钮 Complete Step 完成步骤。

配置步骤

要配置步骤,请执行以下操作:

警告:

为了减少安全漏洞,仅为受信任的 web 页面和 web 应用程序配置“发送 Web 请求”步骤。

  1. 创建编辑工作流示意图,以访问步骤库面板。
  2. 发送 Web 请求步骤库面板拖至工作流画布上步骤的连接箭头。

    步骤详细信息面板随即出现。

  3. 步骤名称文本框中提供步骤的名称。
  4. 参数部分中,单击编辑
  5. 单击 URL 下拉箭头,然后选择要发送的请求类型。
  6. URL 文本框中键入 REST 端点的 URL。
  7. (可选)使用以下语法将路径变量添加至 URL:
    https://gisserver.domain.com/webadaptorname/apps/workflowmanager/:pathVariable/

    路径变量部分中将显示路径变量。

  8. 如果已将路径变量添加至 URL,在路径变量部分中为每个变量提供值。
  9. 或者,将查询参数添加至 web 请求。
    1. 查询参数部分中单击添加键和值
    2. 文本框中提供键。
    3. 文本框中提供值。
    4. 保持选中已启用复选框。
    5. 重复子步骤 a 至 d 添加更多键值对。
  10. 单击授权选项卡。
  11. 选择 REST 端点的身份杨峥方法,然后根据需要提供身份验证信息。
    警告:

    在步骤中提供的身份验证信息未加密。 要确保信息安全,添加已加密用户定义设置以存储信息并使用动态作业属性在步骤中进行引用。

  12. 或者,单击标题选项卡将自定义标题键值对添加至 Web 请求。
    1. 自定义标题部分中单击添加键和值
    2. 文本框中提供键。
    3. 文本框中提供值。
    4. 保持选中已启用复选框。
    5. 重复子步骤 a 至 d 添加更多键值对。
  13. 或者,单击正文选项卡将数据添加至 Web 请求。

    请求正文支持表单数据键值对、URL 编码的键值对以及采用 JSON 或纯文本格式的原始数据。

    提示:

    还可以使用 Arcade 表达式调用用户定义设置或在正文文本中提供动态值

  14. (可选)如果具有 ArcGIS Workflow Manager Server Advanced 的许可,配置步骤的输出设置
  15. 单击保存关闭配置 Web 请求对话框。
  16. 单击选项选项卡。
  17. 根据需要配置步骤选项
    • 手动 - 手动运行步骤。
      • 可选 - 允许完成步骤而无需运行。
    • 自动 - 步骤被激活后立即执行。
      注:

      如果您的工作流示意图配置为自动运行一系列步骤,其中包括“评估数据质量”或“运行 GP 服务”步骤,则在启动步骤序列的用户令牌到期后,尝试自动运行的步骤将失败。 您必须拥有 ArcGIS Workflow Manager Server Advanced 角色的许可才能继续运行其他自动化步骤,而无需手动干预。

    • 按计划运行 - 根据您设置的计划运行步骤。

      了解有关计划工具的详细信息

  18. 或者,在步骤帮助文本框中提供该步骤的帮助文本。

    您也可以借助以下示例使用 ArcGIS Arcade 表达式显示动态值:

    
    'For further assistance, please contact ' + jobCreator($job) + '.'
  19. 或者,单击样式选项卡以更改步骤的形状和颜色。
  20. 或者,单击关于选项卡并在步骤描述文本框中提供该步骤的描述。
    注:

    关于选项卡还包含步骤 ID,可与动态作业属性配合使用以获取步骤的输出。

配置输出设置

许可:

此功能需要 ArcGIS Workflow Manager Server Advanced 角色许可。

ArcGIS Workflow Manager Server Advanced 角色允许将 REST 端点响应另存为文件,将其附加到作业以及将其配置为自定义输出值。 输出值可用于确定工作流遵循的路径或用作整个工作流中其他步骤的输入。 如果没有配置步骤的输出值,HTTP 状态代码将存储为步骤的输出值。 要配置步骤的输出设置,执行以下操作:

  1. 配置 Web 请求对话框中,单击输出选项卡。

    如果配置 Web 请求对话框不可用,单击工作流画布上的发送 Web 请求步骤,然后在步骤详细信息面板的参数部分中单击编辑

  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
      },
      "locations": [
        {
          "name": "380 New York Street",
          "extent": {
            "xmin": -117.196701,
            "ymin": 34.055489
          }
        }
      ]}
    3. 单击添加输出和路径
    4. 输出值文本框中提供输出值的名称。

      这是用于获取自定义输出值的值名称。

    5. 提取路径文本框中为要存储的值提供采用点表示法或括号表示法的 JSONPath 表达式。

      采用点表示法的示例 JSONPath:

      $.locations.0.name

      采用括号表示法的示例 JSONPath:

      $['locations'][0]['name']

      值将在示例结果列中显示。

    6. (可选)重复步骤 c 至 e 添加更多自定义输出值。
  5. 单击保存关闭配置 Web 请求对话框。

返回值

当该步骤完成时,将存储返回值以指示该步骤的结果。 可以使用路径立即评估返回值,以确定工作流中的后续步骤。 您还可以使用 ArcGIS Arcade 表达式在整个工作流中检索已完成步骤的返回值。 下表列出了该步骤的返回值:

返回值描述

S000001

该步骤成功完成。

F000001

该步骤未能成功完成。

输出值

许可:

此功能需要 ArcGIS Workflow Manager Server Advanced 角色许可。

该步骤完成后,其输出值将被存储,可用于确定工作流所遵循的路径,或者可用作整个工作流中其他步骤的输入。 下表显示了该步骤的输出值:

输出描述ArcGIS Arcade 表达式语法

状态

如果没有未步骤配置输出值,返回 HTTP 响应代码。

jobOutputValue($job, '<step_id>', 'Status')

<CustomOutputValue>

返回之前为步骤配置的自定义输出值。

jobOutputValue($job, '<step_id>', '<custom_output_value_name>')

相关主题