“HTTP 接收请求”活动

使用 HTTP 接收请求活动可将 Integration Appliance 配置为充当 HTTP 侦听器

下图显示了充当 HTTP 侦听器的 Integration Appliance。
图 1.
HTTP 接收请求活动是一个启动方活动。 在将以 HTTP 接收请求活动开始的编排部署到 Integration Appliance 后,Integration Appliance 将充当等待 HTTP 请求的 HTTP 侦听器。当收到 HTTP 请求时,将执行以下操作:
  1. 启动编排作业。
  2. HTTP 接收请求活动处理传入 HTTP 请求并将该 HTTP 请求映射至该活动的输出参数。
  3. 将输出参数映射至指定编排变量。输出参数和编排变量之间的映射将在设计时期间在核对表映射输出任务中进行定义。
  4. 处理编排中的剩余活动。(在编排的图形表示中,剩余活动是指位于 HTTP 接收请求活动右侧的活动)。
缺省情况下,会为 HTTP 接收请求活动启用解压。 有关更多信息,请参阅通过“HTTP 接收请求”活动进行解压

您不能将两个具有相同端点详细信息、URL 和方法的“HTTP 接收请求”活动部署到同一个设备上。

对于单个“HTTP 接收请求”活动

如果针对一个 URL 仅部署了一个“HTTP 接收请求”活动,那么编排将接受以该基本 URL 开头的那些 URL 的全部请求。例如,如果部署了 /customer,那么它将接受 /customer/customer/21/customer/21/dept 等的请求。

如果针对包含路径参数的 URL 部署了一个“HTTP 接收请求”活动,那么编排将仅接受其 URL 与使用路径参数值配置的 URL 匹配的请求。例如,如果部署了 /customer/{custid},那么它将接受 /customer/10/customer/21/customer/dept 等的请求。 不接受以下 URL:/customer/customer/21/dept 等。

对于多个“HTTP 接收请求”活动

如果部署了使用相同基本 URL 配置的两个“HTTP 接收请求”活动,并且其中一个包含路径参数,那么这些活动将接受其 URL 与已配置 URL 严格匹配的请求。 例如,如果部署了 /customer/customer/{path parameter},并且调用了 /customer,那么请求将转至使用 /customer 配置的活动。如果调用了 /customer/007,那么请求将转至使用 /customer/{path parameter} 配置的活动。 此外,如果调用了 URL /customer/dept/1/customer/12/21,那么任何活动都不接受请求。

注: 如果部署了两个活动,第一个活动部署为 /customer/department,第二个活动部署为 /customer/{path parameter},并且调用了 /customer/department,那么请求将转至第一个部署的活动 (/customer/department)。 如果首先部署了 /customer/{path parameter},那么请求将转至 /customer/{path parameter}
注: 另外还建议您不要为 Web Service 和 HTTP 部署相同的 URL。
基本 URL - 路径参数前的 URL 部分。 例如 - 如果配置的 URL 为 /employee/manager/{id},那么基本 URL 将为 /employee/manager

向编排添加“HTTP 接收请求”活动

  1. 创建或打开编排。这样会以图形形式显示编排。
  2. 选择活动选项卡,并展开 HTTP 文件夹。
  3. 接收请求活动拖到编排上。
  4. 选择该活动。这样会显示核对表,而且摘要任务在“属性”窗格中将处于活动状态。在工作空间中,“属性”窗格位于编排的图形表示的下方。

创建、选择或编辑 HTTP 端点

  1. 单击核对表中的选取端点任务,然后选择下列操作之一:
    • 选择现有端点:
      1. 选择浏览。这样会显示 Project Explorer。
      2. 选择现有端点并单击确定。跳至“配置活动”过程。
    • 选择现有端点并编辑该端点:
      1. 选择浏览。这样会显示 Project Explorer。
      2. 选择现有端点并单击确定
      3. 单击编辑。这样会显示“编辑端点”窗格。
    • 创建新端点:选择新建。这样会显示“创建端点”窗格。
  2. 创建或编辑 HTTP 端点(请参阅创建或编辑 HTTP 端点)。

配置活动

  1. 核对表中选择配置任务。这样会显示“配置”窗格。
  2. 配置此窗格中的所有字段和复选框,如下表所述:
    表 1.
    字段 描述
    URL(主机名后的路径) 指定 Integration Appliance 用于侦听入站 HTTP 请求的资源路径,例如:/mypath。 您在此字段中指定的字符串必须排除字符串 http://、Integration Appliance 的主机名以及端口号。 Integration Appliance 用于侦听入站 HTTP 请求的完整 URL 将由 Integration Appliance 的主机名、HTTP 端点所指定的端口号以及此字段所指定的路径自动构造而成。例如,如果 Integration Appliance 用于侦听 HTTP 请求的完整 URL 为 http://myAR:myPort/myPath,那么您只需在此字段中指定字符串:/myPath。对于在同一时间使用同一端口在同一 Integration Appliance 上部署的 HTTP 接收请求活动,所指定的路径必须唯一。

    要使用路径参数和查询参数,请按下列格式输入 URL:url/{path}?name1=value1&name2=value2。 这使您能够将字符串值映射到“{path}”参数并指定查询参数名:该示例中的 name1name2。如果您选择声明多个“{path}”参数,那么建议每个参数都应具有唯一名称。具有相同名称的参数在映射中只会表示为一个节点。 路径参数显示在“映射输出”中的 /httpheaders/pathParameters 下。查询参数显示在“映射输出”中的 /httpheaders/queryParameters 下。

    注: 在 URL 中,分配给查询参数的任何值都不会传递到映射器。该值来自于基于实际传入请求的服务器。
    注: Integration Appliance 用于侦听入站 HTTP 请求的路径是一个由您指定的资源路径字符串,并且不对应于 Integration Appliance 上的实际目录路径。
    方法 指定侦听服务器所接受的 HTTP 方法。
    类型 指定 HTTP 请求的期望消息类型 - 文本二进制
    需要答复 指定是否应向请求的发送方发送答复。
    注: 如果选中此复选框,那么必须在编排中添加并配置 HTTP 发送响应活动。
    使用压缩/解压缩 指定是否在活动级别打开或关闭压缩/解压。缺省情况下,将清除使用压缩/解压复选框并为此活动禁用压缩/解压。 选中使用压缩/解压复选框可为此活动启用压缩/解压。有关更多信息,请参阅通过“HTTP 调用/获取/发布/头/放置/删除请求”活动进行压缩/解压

指定请求头

  1. 从“核对表”中选择请求头任务。这样会显示请求头窗格。顶部显示定制头表,中间部分显示包含预定义的标准头复选框,底部显示标准头表。
  2. 单击添加按钮以向定制头表添加头。 单击新条目以输入头名称或从下拉列表中选择头名称。如果头名称是预定义的头名称,那么将在描述列中显示描述,否则,请为这些头输入描述。
  3. 要使用预定义的标准头,请选中包含预定义的标准头复选框。请注意,不允许重复的头名称(忽略大小写差异),将提示您除去定制头表中的任何重复头。 所选 HTTP 头显示在“映射输出”中的 /httpheaders 下。

指定 Swagger 信息

  1. 核对表中选择 Swagger 任务以设置样本消息。
  2. 指定请求样本 (JSON)响应样本 (JSON) 信息。如果您未指定任何请求样本,“Swagger 输出”将显示空样本对象。
  3. 单击生成 Swagger 按钮,将在 Swagger 输出文本框中显示代码。如果需要,您还可以单击下载 Swagger 以下载并共享文件。

映射活动的输出

  1. 核对表中选择映射输出任务。活动的输出参数会显示在映射输出任务的“自活动”窗格中,如下表所述:
    表 2.
    输出参数 描述
    httpheaders 指定 HTTP 请求的头。
    body 指定 HTTP 请求消息的主体。
    下表定义了可选 httpheaders 输出参数的节点。
    表 3.
    httpheaders 输出参数的节点 描述
    httpheaders/uri 指定传入请求的资源路径,例如:/myPath
    httpheaders/method 指定 HTTP 请求的类型。
    httpheaders/host 指定客户机的 IP 地址或主机名。
    httpheaders/otherHeaders/headerItem 指定包含了一组 HTTP 头参数作为名称/值对的元素。可以在 HTTP 请求中指定多个 HTTP 头参数,因此,它是一个重现节点。
    httpheaders/<configured_header_name> 如果在“请求头”步骤中配置了至少一个请求头,那么此处会显示所有请求头。<configured_header_name> 将替换为您选择或输入的实际头名称。
    httpheaders/pathParameters 如果在“配置”步骤中配置了 URL 中的路径参数,那么此处会显示所有路径参数。如果未指定路径参数,该节点将不显示。
    httpheaders/queryParameters 如果在“配置”步骤中配置了 URL 中的查询参数,那么此处会显示所有查询参数。如果未指定查询参数,该节点将不显示。
    httpheaders/otherHeaders/headerItem/name 指定 HTTP 头参数名称。
    httpheaders/otherHeaders/headerItem/value 指定 HTTP 头参数值。
  2. 在活动的输出参数和编排变量之间创建映射。请参阅创建映射,以获取与映射有关的常规指示信息。
    注: 要测试以 HTTP 接收请求活动开始的编排,您可以使用 Studio 安装随附的 HTTP 发布实用程序以在运行时期间向侦听 Integration Appliance 发送 HTTP 请求。您可以从“开始”菜单中访问 HTTP 发布实用程序:选择程序 > IBM > Cast Iron Studio > HTTP 发布实用程序选项。您在“入站连接器的 URL”字段中指定的 URL 必须包含完整 URL,例如:http://myAR:myPort/myPath