消息中的文件夹 usr body
Folder usr coming in the message body
使用 IIB 10 和 MQ 9。
问题是,当您添加 mqrfh2 header 时,它的部分出现在 body 中:
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);
我认为您需要阅读 documentation 以获得 MQRFH2 消息。 MQRFH2 消息的所有文件夹和 header 都在 MQ 消息 body 中。如果接收应用程序无法处理 MQRFH2 消息,则将其视为 JMS 消息或具有命名属性的普通消息。
万一你不知道:
MQRFH2 消息 == JMS 消息 == 具有命名属性(又名消息属性)的普通消息
更新:
我刚刚注意到这一行:
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQRFH2';
这可能是你的问题。您正在 MQRFH2 消息中嵌入 MQRFH2 消息。更改为以下内容:
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQSTR ';
这表示 MQRFH2 消息的消息数据将被视为字符串数据(即 JMSTextMessage)。
使用 IIB 10 和 MQ 9。 问题是,当您添加 mqrfh2 header 时,它的部分出现在 body 中:
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);
我认为您需要阅读 documentation 以获得 MQRFH2 消息。 MQRFH2 消息的所有文件夹和 header 都在 MQ 消息 body 中。如果接收应用程序无法处理 MQRFH2 消息,则将其视为 JMS 消息或具有命名属性的普通消息。
万一你不知道:
MQRFH2 消息 == JMS 消息 == 具有命名属性(又名消息属性)的普通消息
更新:
我刚刚注意到这一行:
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQRFH2';
这可能是你的问题。您正在 MQRFH2 消息中嵌入 MQRFH2 消息。更改为以下内容:
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQSTR ';
这表示 MQRFH2 消息的消息数据将被视为字符串数据(即 JMSTextMessage)。