【发布时间】:2018-04-11 03:10:02
【问题描述】:
我正在尝试发送设置了 MD 和 RFH2 标头的 MQ 消息。 我需要消息在 AppWatch 上显示为这样。
我正在使用以下代码:
MQMessage msg = new MQMessage();
msg.writeString("Data to go as Message Content");
//Setting MQMD values
msg.persistence = MQConstants.MQPER_PERSISTANT;
msg.encoding = MQConstants.MQENC_S390;
msg.characterSet = 500;
//Setting RFH2 Values
MQRFH2 rfh2 = new MQRFH2();
rfh2.setEncoding(CMSQC.MQENC_NATIVE);
rfh2.setCodedCharSetId(CMSQC.MQCCSI_INHERIT);
rfh2.setFormat(CMSQC.MQFMT_STRING);
rfh2.setFlags(0);
rfh2.setNameValueCCSID(1208);
rfh2.setFieldValue("mcd","msd","jms_text");
rfh2.setNameValueData(<xml><usr><ENTRYNUM>123</ENTRYNUM><text>TEST123</text></usr></xml>);
//Setting the Header to the Message
rfh2.write(msg);
MQQueue queue = qmngr.accessQueue(qname,MQConstants.MQOO_OUTPUT);
queue.put(msg,pmo);
queue.close;
谁能帮我正确设置 RFH2 值。
注意:以上截图只是示例,代码与截图无关
【问题讨论】:
-
你已经问过这个问题,罗杰已经回答了。根据他的回答和您尝试设置的值,我认为应该只是两次调用
rfh2.setFieldValue,不需要rfh2.setNameValueData。 -
rfh2.setFieldValue("usr", "ENTRYNUM", "123"); -
rfh2.setFieldValue("usr", "text", "TEST123"); -
嗨@JoshMc 实际上在这里寻找正确的格式,如果您观察到代码,我使用的方式与该线程中建议的方式完全相同。 Buty 问题是,我无法像在屏幕截图中那样以正确的格式查看消息。这里有什么我想念的吗?