MQGet 节点消息处理

下面各图显示了在 MQGet 节点中执行的各项处理,这些处理的目的是:
  • 传播消息
  • 构造输出树 LocalEnvironment
  • 构造输出树消息

传播消息

  1. 如果输入树中有 MQMD,则使用该 MQMD,否则会使用缺省的 MQMD。
  2. 创建缺省 MQGMO,如果在输入树中有 GMO,会根据节点属性,用它来修改缺省的 GMO。
  3. WebSphere MQ 发出 MQGet 调用。
  4. 分析从调用返回的返回码(CC),相应地如下传播消息:
    确定
    使用标准消息解析技术,创建输出 LocalEnvironment 并输出消息树。 传播到“输出”终端。
    Warning
    使用 BLOB 作为消息体类型,创建输出 LocalEnvironment 并输出消息树。 如果连接,则传播到“警告”终端。否则,不会发生传播,流结束。
    失败(无消息)
    更新开始通过复制输入,创建输出 LocalEnvironment 并输出消息树。 如果连接,则传播到 No Message 终端。否则,不会发生传播。 传播到 No Message 终端的输出消息是根据“产生方式”和“复制消息”或“复制本地环境”属性的值,仅从输入消息构造的。更新结束
    失败(其他)
    传播到“失败”终端。如果未连接“失败”终端,则代理会抛出一个异常,并将控制权返回给可以处理此异常的前一个最近节点。请参阅处理消息流中的错误以获取更多信息。

下图直观地说明了这一过程:

在上面的文本中对此图进行了描述。

构造输出 LocalEnvironment

  1. 如果 MQGet 节点上的 generateMode 属性不是一个包含 LocalEnv 的选项,则将输出本地环境 设置为输入,并传播本地环境。
    注: 在此情况下,不会顺流传播 任何进入 OutputLocalEnvironment 的更新。
  2. 否则,如果 copyLocalEnv 属性未设置为,则将输入本地环境复制到输出中。
  3. 如果输出数据位置指向输出本地环境,则通过从结果树复制而在此处插入更改。
  4. 传播本地环境。

下图直观地说明了这一过程:

在上面的文本中对此图进行了描述。

构造输出消息

  1. 如果 generateMode 不包含消息,则将输出消息设置为同输入消息。 转至步骤 5
  2. 如果输出数据位置设置为 OutputRoot,则整个地从结果树创建输出消息。 转至步骤 5
  3. 如果 copyMessage 未设置为,则将输入消息复制到输出消息树。
  4. 如果输出数据位置指向输出消息树的一部分,则通过从结果树中由结果数据位置定义的位置进行复制,而在此处插入更改。
  5. 则消息被传播。

下图直观地说明了这一过程:

在上面的文本中对此图进行了描述。

有关如何使用的详细示例,请参阅在请求-响应流中使用 MQGet 节点

相关概念
消息流概述
相关参考
在请求-响应流中使用 MQGet 节点
MQGet 节点
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac34690_