【问题标题】:Folder usr coming in the message body文件夹 usr 进入消息正文
【发布时间】:2019-09-30 15:36:28
【问题描述】:

使用 IIB 10 和 MQ 9。 问题是当你添加 mqrfh2 标头时,它的部分出现在正文中:

    SET OutputRoot.MQMD.CodedCharSetId = InputRoot.Properties.CodedCharSetId;
    SET OutputRoot.MQMD.Format = 'MQRFH2';
    SET OutputRoot.MQMD.Version = MQMD_VERSION_2;
    SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQRFH2';
    SET OutputRoot.MQRFH2.(MQRFH2.Field)Version = MQRFH_VERSION_2;
    SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCSID = InputRoot.Properties.CodedCharSetId;

    SET OutputRoot.MQRFH2.usr.errorDescription  = FIELDVALUE(Environment.Variables.exceptionMsg);

【问题讨论】:

  • 你是如何查看消息的?
  • @JoshMc 使用 RFHUtil

标签: ibm-mq ibm-integration-bus


【解决方案1】:

我认为您需要阅读 documentation 以获取 MQRFH2 消息。 MQRFH2 消息的所有文件夹和标头都在 MQ 消息正文中。如果接收应用程序无法处理 MQRFH2 消息,则将其视为 JMS 消息或具有命名属性的普通消息。

如果你不知道:

MQRFH2 消息 == JMS 消息 == 具有命名属性(又名消息属性)的普通消息


更新:

我刚刚注意到这一行:

SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQRFH2';

这可能是你的问题。您正在将 MQRFH2 消息嵌入到 MQRFH2 消息中。将其更改为以下内容:

SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQSTR   ';

这表示 MQRFH2 消息的消息数据将被视为字符串数据(即 JMSTextMessage)。

【讨论】:

    猜你喜欢
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 2017-05-12
    • 2011-11-06
    • 2011-10-05
    相关资源
    最近更新 更多