将WMQ7.0与WMB 6.1一起使用
我有一个流程,我正在转换消息并使用 MQRFH2.usr 来保存一些数据。
但是,我正面临着 MQRFH2.usr 进入主要邮件正文的问题。
我在不同的环境中部署了相同的代码,但我只在一个环境中遇到此问题。
因此,似乎不是代码问题。它与配置有关。
请说明可能的原因。
答案 0 :(得分:1)
检查队列的PROPCTL
设置。如果将其设置为NONE
,则行为如下:
如果应用程序没有创建消息句柄,则显示所有消息 属性将从MQRFH2中删除。 MQRFH2中的名称/值对 标题留在邮件中。
请务必多次阅读doc page,并尝试使用其他设置进行测试,以全面了解PROPCTL
如何修改应用收到的讯息内容。
答案 1 :(得分:0)
MQRFH2标头(如果存在)始终位于消息的有效负载部分(这就是webpshere组织它的方式)。您可以接收一个或多个MQRFH2头(结构)。
也许你只期待一个并且正在收到两个?这可以解释您的留言数据留下的胡言乱语。
我使用以下代码在收到消息时处理这些问题
MQRFH2 header = null;
// Find and store message length
int msglen = replyMessage.getMessageLength();
MQHeaderList list = new MQHeaderList(replyMessage);
int indexOf = list.indexOf("MQRFH2");
if (indexOf >= 0) {
header = (MQRFH2) list.get(indexOf);
msglen = msglen - header.size();
}
String msgText = replyMessage.readStringOfCharLength(msglen);
希望它有所帮助。
Martins的