本主题包含以下部分:
使用 HTTPInput 节点接收由消息流处理的 Web service 请求。结合 HTTPReply 和 HTTPRequest 节点使用 HTTPInput 节点,代理可用作 Web service 的媒介,并可用与受 WebSphere Message Broker 支持的其他消息格式的相同方法转换和路由 Web service 请求。 Web service 请求能以标准 HTTP(1.0 或 1.1)格式或者 HTTP over SSL(HTTPS)格式接收。可设置使用 HTTPS 属性以控制是否处理 HTTP 或 HTTPS 请求。
如果在消息流中包含 HTTPInput 节点,则必须在同一流中包含 HTTPReply 节点,或将消息传递到包含 HTTPReply 节点的另一个流中(例如,通过 MQOutput 节点传递到另一个以 MQInput 节点开始的流)。在后面一种情况中,来自客户机的请求和到客户机的应答由存储在 LocalEnvironment 中的请求标识协调(如下所述)。
HTTPInput 节点处理以下消息域中的消息:
当 HTTPInput 节点从 Web Service 客户机接收消息时,它调用相应的解析器来解释消息头和消息体并创建由消息流内部使用的消息树。该节点为输入消息创建唯一标识并将其作为一组 24 字节二进制数组存储在 LocalEnvironment 树的 LocalEnvironment.Destination.HTTP.RequestIdentifer。 该值由 HTTPReply 节点使用且不得以任何方式进行修改。
HTTP 消息始终为非持久的,且没有与之相关的顺序。
HTTP 消息是非事务的。然而,如果消息流与数据库或另一个外部资源(例如 WebSphere MQ 队列)交互,则事务性地执行这些交互。根据消息流的结束情况和如何为错误处理对其进行配置(例如,如何连接 Failure 终端),确定 HTTPInput 节点是提供落实还是回滚。如果消息流由该节点回滚,则生成故障消息,并且该消息返回到客户机。故障的格式由“故障格式”属性定义。
如果在该消息流的下游发生异常,并且没有捕获异常而是将其返回到该节点,则节点构造一个对客户机的错误应答。该错误派生自异常,其格式则由“故障格式”属性定义。
如果您在以 HTTPInput 节点开始的消息流中包含输出节点,则它可以是任何受支持的输出节点(包括用户定义的输出节点)。您可创建某个消息流,它从 Web Service 客户机接收消息并为使用所 有受支持传输来连接到代理的客户机生成消息,因为您可以配置消息流来请求代理提供任何必要的转换。
如果您创建将用作子流的消息流,则无法使用标准输入节点;必须使用输入节点的实例作为第一个节点来为子流创建 in 终端。
如果消息流未接收 Web service 请求,则可以选择某个受支持的输入节点。
HTTPInput 节点在工作台中由以下图标表示:
HTTPInput 可用于任何需要接受 HTTP 或 HTTPS 消息的消息流。最常见的示例为,实现 Web service 的消息流。有关 Web service 应用程序的信息,请参阅 Web Service 应用程序。
当您将 HTTPInput 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 将在属性对话框中显示节点的基本属性。
对于必须为其输入值的所有必需属性(没有定义缺省值的属性),在属性对话框上都会用星号作标记。
如下所示配置 HTTPInput 节点:
将 XML、XMLNS、XMLNSC、JMS、MIME 和 BLOB 解析器的消息集字段保留为空白。
将 XML、XMLNS、XMLNSC、JMS、IDOC、MIME 和 BLOB 解析器的消息类型保留为空白。
将 XML、XMLNS、XMLNSC、JMS、MIME 和 BLOB 解析器的消息格式字段保留为空白。
有关更多详细信息,请参阅验证消息和MRM 域中消息的验证属性。
单击取消以关闭对话框,并废弃对属性所作的所有更改。
在以下表中描述了 HTTPInput 节点终端。
终端 | 描述 |
---|---|
Failure | 如果发生错误,则这是消息路由到的输出终端。 |
Out | 如果成功检索到消息,则这是消息路由到的输出终端。 |
Catch | 如果下游抛出异常并由此节点捕获,则这是消息路由到的输出终端。 |
下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。
下表描述 HTTPInput 节点的“基本”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
URL 选择器 | 是 | 是 | 标识从中检索 Web service 请求的位置。如果您需要的 URL 为 http://<hostname>[:<port>]/[<path>],则指定 /<path> 或 /<path fragment>/*,其中 * 是您可用于表示与任何内容匹配的通配符。 | |
最大客户机等待时间 | 是 | 否 | 180 | 在将错误消息发送回客户机前,侦听器等待的时间长度(以秒为单位)。有效范围是零(表示不确定的等待)到(231)-1。 |
故障格式 | 否 | 是 | SOAP 1.1 | 属性值可为 SOAP 1.1、SOAP 1.2 或 HTML。该属性定义所有返回到客户机的 HTTP 错误的格式。 |
使用 HTTPS | 否 | 是 | 否 | 标识节点是否要接受安全 HTTP。 |
下表描述 HTTPInput 节点“缺省”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
消息域 | 否 | 否 | 用于解析入局消息的域。 | |
消息集 | 否 | 否 | 定义入局消息的消息集的名称或标识。 | |
消息类型 | 否 | 否 | 入局消息的名称。 | |
消息格式 | 否 | 否 | 入局消息物理格式的名称。 |
下表描述 HTTPInput 节点的“验证”属性。
请参阅MRM 域中消息的验证属性,以获取这些属性的完整描述。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
验证 | 否 | 是 | 无 | 验证是否发生。有效值为无、内容和值以及内容。 |
故障操作 | 否 | 否 | 异常 | 验证失败后将发生什么操作。只有将验证设置为内容或内容和值,才可以设置该属性。有效值为用户跟踪、本地错误日志、异常和异常列表。 |
包含所有值约束 | 否 | 否 | 选中 | 无法编辑此属性。所选的复选框指出的缺省操作,即内容和值验证中包含的基本值约束检查。 |
固定 | 否 | 否 | 无 | 无法编辑此属性。 |
下表描述了 HTTPInput 节点的“一般消息选项”的属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
解析计时 | 否 | 否 | 按需解析 | 该属性控制何时解析输入消息。有效值为按需解析、立即解析和完全解析。 请参阅按需解析,以获取此属性的完整描述。 |
将 MQRFH2C 压缩解析器用于 MQRFH2 域 | 否 | 否 | 已清除 | 该属性控制 MQRFH2 头中是否使用 MQRFH2C 压缩解析器,而不是 MQRFH2 解析器。 |
下表描述 HTTPInput 节点的“XMLNSC 解析器选项”的属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
将 XMLNSC 压缩解析器用于 XMLNS 域 | 否 | 否 | 已清除 | ![]() ![]() |
混合内容保留方式 | 否 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的混合文本时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为混合文本创建元素。选择无表示忽略混合文本并且不创建元素。 |
注释保留方式 | 否 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的注释时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为注释创建元素。选择无表示忽略注释并且不创建元素。 |
处理指令保留方式 | 否 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的处理指令时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为处理指令创建元素。选择无表示忽略处理指令并且不创建元素。 |
下表描述 HTTPInput 节点的“描述”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
简短描述 | 否 | 否 | 节点的简要描述。 | |
详细描述 | 否 | 否 | 描述消息流中节点用途的文本。 |