从外部系统访存数据时将结果消息与输入消息相结合

某些节点可以在消息流中访存数据,并将结果数据与输入消息合并以扩充或覆盖输入消息的某些部分。

以下节点可以在消息流中方寸数据,并将结果与输入消息合并:

  • 使用 CICSRequest 节点通过基于 TCP/IP 的 IP InterCommunications 协议 (IPIC) 调用 CICS® Transaction Server for z/OS® 程序。
  • 使用 CORBARequest 节点通过因特网组织间协议 (IIOP) 调用外部 CORBA 应用程序。
  • 使用 FileRead 节点从消息流中读取一条记录或文件的整个内容。
  • 使用 IMSRequest 节点发送请求以在本地或远程 IMS 系统上运行事务,并等待响应。
  • 使用 JMSReceive 节点来使用或浏览消息流中间的 JMS 队列中的 JMS 消息。
  • 使用 LoopBackRequest 节点通过 LoopBack® 连接器发出同步请求,在后端数据源中创建、检索、更新和删除数据。
  • RESTAsyncRequest 节点与 RESTAsyncResponse 节点配合使用,以构造一对与外部 REST API 异步交互的消息流。
  • 使用 RESTRequest 节点向外部 REST API 发出同步请求。
  • 使用 SalesforceRequest (无发现) 节点向 Salesforce 系统发送请求,以创建,更新,检索和删除 Salesforce 数据。
  • 使用 TCPIPClientReceive 节点通过客户机 TCP/IP 连接接收数据。
  • 使用 TCPIPServerReceive 节点通过服务器 TCP/IP 连接接收数据。

在消息流中使用以上某个节点时,可以从外部资源访存数据。 结果数据根据输出数据位置的值以及结果数据位置属性(如果在节点上存在)的值与输入消息合并。

JMS 接收节点从输入节点接收输入消息树,并从外部 JMS 队列接收结果消息树。 节点将这两个树组合在一起以生成输出消息树。

输入根先被复制到输出根,然后结果数据被复制到输出树上由输出数据位置指定的位置。 缺省值 $OutputRoot 将复制的消息树替换为结果数据,并且不传播输入消息。

结果数据位置(如果在节点上存在)的缺省值为 $ResultRoot,即将整个结果消息复制到输出数据位置。 如果您在 $ResultRoot 下指定值,那么结果消息的指定子树将插入输出树。

以下示例使用 JMSReceive 节点并显示为 输出数据位置结果数据位置指定的可能不同值的影响。

示例 1:替换整个消息树

  • 输出数据位置 = $OutputRoot
  • 结果数据位置 = $ResultRoot

这些值为缺省值,并导致使用结果消息覆盖输入消息。

输入消息树如下所示。 选择要覆盖的根元素:
选择要覆盖的输入根元素。
结果消息树如下所示。 为插入选择了根元素:
选择要插入的结果根元素。
输出消息树如下所示。 输出根树将替换为结果根树:
输出根树将替换为结果根树。

示例 2:替换消息头

  • 输出数据位置 = $OutputRoot/JMSTransport
  • 结果数据位置 = $ResultRoot/JMSTransport

输入根被复制到输出根,然后消息头被结果消息的头覆盖。

在输入消息树中,选择要覆盖的 JMSTransport 子树:
选择要覆盖的输入头。
在结果消息树中,选择要插入的 JMSTransport 子树:
选择要插入的结果头。
在输出消息树中,输出 JMSTransport 子树将替换为结果 JMSTransport 子树:
输出头树将替换为结果头树。

示例 3:替换消息体

  • 输出数据位置 = $OutputRoot/XMLNSC
  • 结果数据位置 = $ResultRoot/XMLNSC

输入根被复制到输出根,然后消息体被结果消息的主体覆盖。

在输入消息树中,将覆盖所选的 XMLNSC 元素:
选择要覆盖的输入消息体。
在结果消息树中,选择了要插入的 XMLNSC 元素:
选择要插入的结果消息体。
在输出消息树中,XMLNSC 元素已被结果 XMLNSC 元素替换:
输出消息体被结果消息体替换。

示例 4:插入结果消息的子树

  • 输出数据位置 = $OutputRoot/XMLNSC/request/Operation
  • 结果数据位置 = $ResultRoot/XMLNSC/request/Operation

输入根被复制到输出根,然后结果消息的“操作”子树被插入请求元素下的输出树。 输入消息树不包含“操作”元素,但是其位置由输出数据位置值确定。

在输入消息树中,已选中要写入的位置。 此位置尚不存在:
指定的输出数据位置尚不存在,但已选择写入。
在结果消息树中,选择插入操作元素:
选择要插入的 "操作" 元素。
在输出消息树中,将在现有请求元素下插入结果消息树中的操作元素:
来自结果消息的 Operation 元素将插入到请求元素下的输出消息树中。