添加和配置“发送 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. 或者,将查询参数添加至 web 请求。
    1. 查询参数部分中单击添加键和值
    2. 文本框中提供键。

      还可以使用 ArcGIS Arcade 表达式提供动态值。

    3. 文本框中提供值。

      还可以使用 ArcGIS Arcade 表达式提供动态值。

    4. 保持选中已启用复选框。
    5. 重复子步骤 a 至 d 添加更多键值对。
  9. 如果已将路径变量添加至 URL,在路径变量部分中为每个变量提供值。

    还可以使用 ArcGIS Arcade 表达式提供动态值。

    提示:

    单击此输入支持 Arcade 表达式 This input supports Arcade expressions,然后选择 ArcGIS Arcade 表达式以将其添加至其关联文本框。

  10. 单击授权选项卡。
  11. 选择 REST 端点的身份杨峥方法,然后根据需要提供身份验证信息。
    警告:

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

    注:

    您可以使用联合令牌选项在用户执行步骤时对 Web 请求进行身份验证。 联合令牌选项仅与发布到与 Workflow Manager 相同的 Enterprise 站点的服务兼容。

    1. 或者,如果选择 API 密钥Bearer 令牌选项,单击或者从端点生成令牌

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

    2. 配置令牌设置以生成 Web 请求的令牌。
  12. 或者,单击标题选项卡将自定义标题键值对添加至 Web 请求。
    1. 自定义标题部分中单击添加键和值
    2. 文本框中提供键。

      还可以使用 ArcGIS Arcade 表达式提供动态值。

    3. 文本框中提供值。

      还可以使用 ArcGIS Arcade 表达式提供动态值。

    4. 保持选中已启用复选框。
    5. 重复子步骤 a 至 d 添加更多键值对。
  13. 或者,单击正文选项卡将数据添加至 Web 请求。

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

    提示:

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

  14. (可选)如果具有 ArcGIS Workflow Manager Server Advanced 的许可,配置步骤的输出设置
  15. (可选)单击测试选项卡,然后单击测试响应发送配置的请求并显示其响应。

    如果 Web 请求包含作业特定的 Arcade 表达式,则必须打开包含作业 ID,然后在作业 ID 文本框中提供作业 ID 以正确格式化请求。

  16. 单击保存关闭配置 Web 请求对话框。
  17. 单击选项选项卡。
  18. 根据需要配置步骤选项
    • 手动 - 手动运行步骤。
      • 可选 - 允许完成步骤而无需运行。
    • 自动 - 步骤被激活后立即执行。
      注:

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

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

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

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

    还可以使用 ArcGIS Arcade 表达式为步骤帮助提供动态值。 如果步骤帮助包含纯文本和 Arcade 表达式,则需要按如下所示格式化文本:

    
    'For further assistance, please contact ' + JobCreator($Job) + '.'

  20. 或者,单击样式选项卡以更改步骤的形状和颜色。
  21. 或者,单击关于选项卡并在步骤描述文本框中提供该步骤的描述。
    提示:

    关于选项卡还包含步骤 ID,可与动态作业属性配合使用以获取步骤的输出。 单击复制步骤 ID Copy Step ID 将步骤 ID 复制到剪贴板。

配置令牌设置

如果 REST 端点需要令牌才能进行身份验证,按照以下步骤将“发送 Web 请求”步骤配置为生成可用于对 Web 请求进行身份验证的令牌。

  1. 单击 URL 下拉箭头,然后选择要发送的请求类型。
  2. URL 文本框中键入 REST 端点的 URL。
  3. (可选)使用以下语法将路径变量添加至 URL:
    https://gisserver.domain.com/webadaptorname/apps/workflowmanager/:pathVariable/

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

  4. 或者,将查询参数添加至 web 请求。
    1. 查询参数部分中单击添加键和值
    2. 文本框中提供键。

      还可以使用 ArcGIS Arcade 表达式提供动态值。

    3. 文本框中提供值。

      还可以使用 ArcGIS Arcade 表达式提供动态值。

    4. 保持选中已启用复选框。
    5. 重复子步骤 a 至 d 添加更多键值对。
  5. 如果已将路径变量添加至 URL,在路径变量部分中为每个变量提供值。

    还可以使用 ArcGIS Arcade 表达式提供动态值。

    提示:

    单击此输入支持 Arcade 表达式 This input supports Arcade expressions,然后选择 ArcGIS Arcade 表达式以将其添加至其关联文本框。

  6. 或者,单击标题选项卡将自定义标题键值对添加至 Web 请求。
    1. 自定义标题部分中单击添加键和值
    2. 文本框中提供键。

      还可以使用 ArcGIS Arcade 表达式提供动态值。

    3. 文本框中提供值。

      还可以使用 ArcGIS Arcade 表达式提供动态值。

    4. 保持选中已启用复选框。
    5. 重复子步骤 a 至 d 添加更多键值对。
  7. 或者,单击正文选项卡将数据添加至 Web 请求。

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

    提示:

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

  8. 单击令牌选项卡。
  9. 令牌部分中,单击测试模式开关按钮。
  10. 示例响应文本框中粘贴 REST 端点响应的示例。

    采用 JSON 格式的示例响应:

    {"access_token": "12345abcde",
    "expires_in":7199,
    "spatialReference": {
      "wkid": 4326,
      "latestWkid": 4326
    },
    "locations": [
      {
        "name": "380 New York Street",
        "extent": {
          "xmin": -117.196701,
          "ymin": 34.055489
        }
      }
    ]}
  11. 输出值文本框中,提供令牌的名称。

    这是步骤用于引用生成的令牌的名称。

  12. 提取路径文本框中提供采用点表示法或括号表示法的 JSONPath 表达式,以解析响应并返回生成的令牌。

    采用点表示法的示例 JSONPath:

    $.access_token

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

    $['access_token']

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

  13. 单击返回步骤配置以继续配置步骤。

配置输出设置

许可:

此功能需要 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 角色许可。

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

输出描述

状态

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

<CustomOutputValue>

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

attachmentId

返回添加到步骤的附件 ID 数组。

相关主题