我在JMS消息使用者中接收消息,如(伪代码):
loop
Message msg = MessageConsumer.receive(timeout);
end-loop
由于某些原因,如果收到的消息具有相关ID,则会失败,但如果消息没有,则会正常工作。
我正在制作这样的信息:
TextMessage textMsg = session.createTextMessage("<myTestMsg type=\"TEST\"></myTestMsg>");
if (addCorrelationId) {
textMsg.setJMSCorrelationIDAsBytes(new byte[]{(byte)49});
}
jmsProducer.send(textMsg);
这是我在消费者方日志中看到的错误:
July 19, 2016 6:15:04 PM CEST[Queue Service thread] com.ibm.msg.client.wmq.common.internal.messages.WMQReceiveMarshal
A received message could not be correctly parsed.
EXPLANATION:
The message with messageID = '414D512064657620202020202020202012048D5720072E04' and correlationID = '310000000000000000000000000000000000000000000000' could not be correctly parsed. The last successful data read from the message was at position '192' in buffer '
0000: 5246 4820 0000 0002 0000 00c0 0000 0111 RFH ............
0010: 0000 04b8 4d51 5354 5220 2020 0000 0000 ....MQSTR ....
0020: 0000 04b8 0000 0020 3c6d 6364 3e3c 4d73 ....... <mcd><Ms
0030: 643e 6a6d 735f 7465 7874 3c2f 4d73 643e d>jms_text</Msd>
0040: 3c2f 6d63 643e 2020 0000 0074 3c6a 6d73 </mcd> ...t<jms
0050: 3e3c 4473 743e 7175 6575 653a 2f2f 2f6d ><Dst>queue:///m
0060: 7971 7565 7565 3c2f 4473 743e 3c54 6d73 yqueue</Dst><Tms
0070: 3e31 3436 3839 3434 3930 3438 3738 3c2f >1468944904878</
0080: 546d 733e 3c45 7870 3e31 3436 3839 3434 Tms><Exp>1468944
0090: 3933 3438 3738 3c2f 4578 703e 3c43 6964 934878</Exp><Cid
00a0: 3e49 443a 3331 3c2f 4369 643e 3c44 6c76 >ID:31</Cid><Dlv
00b0: 3e31 3c2f 446c 763e 3c2f 6a6d 733e 2020 >1</Dlv></jms>
00c0: 3c6d 7954 6573 744d 7367 2020 7479 7065 <myTestMsg type
00d0: 3d22 5445 5354 223e 3c2f 6d79 5465 7374 ="TEST"></myTest
00e0: 4d73 673e 3037 2d31 3954 3138 3a31 353a Msg>07-19T18:15:
00f0: 3034 2e36 3838 2b30 323a 3030 222f 3e00 04.688+02:00"/>.
0100: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0110: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0120: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0130: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0150: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0160: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0170: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0180: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0190: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
01f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0200: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0210: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0220: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0230: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0240: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0250: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0260: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0270: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0280: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0290: 0000 0000 0000 0000 0000 0000 0000 0000 ................
02a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
02b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
02c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
02d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
02e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
02f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0300: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0310: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0320: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0330: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0340: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0350: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0360: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0370: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0380: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0390: 0000 0000 0000 0000 0000 0000 0000 0000 ................
03a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
03b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
03c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
03d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
03e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
03f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0400: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0410: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0420: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0430: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0440: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0450: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0460: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0470: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0480: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0490: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
04f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0500: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0510: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0520: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0530: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0540: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0550: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0560: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0570: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0580: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0590: 0000 0000 0000 0000 0000 0000 0000 0000 ................
05a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
05b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
05c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
05d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
05e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
05f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0600: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0610: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0620: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0630: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0640: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0650: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0660: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0670: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0680: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0690: 0000 0000 0000 0000 0000 0000 0000 0000 ................
06a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
06b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
06c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
06d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
06e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
06f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0700: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0710: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0720: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0730: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0740: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0750: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0760: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0770: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0780: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0790: 0000 0000 0000 0000 0000 0000 0000 0000 ................
07a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
07b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
07c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
07d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
07e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
07f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0800: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0810: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0820: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0830: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0840: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0850: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0860: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0870: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0880: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0890: 0000 0000 0000 0000 0000 0000 0000 0000 ................
08a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
08b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
08c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
08d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
08e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
08f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0900: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0910: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0920: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0930: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0940: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0950: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0960: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0970: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0980: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0990: 0000 0000 0000 0000 0000 0000 0000 0000 ................
09a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
09b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
09c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
09d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
09e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
09f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0a00: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0a10: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0a20: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0a30: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0a40: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0a50: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0a60: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0a70: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0a80: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0a90: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0aa0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ab0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ac0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ad0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ae0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0af0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0b00: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0b10: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0b20: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0b30: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0b40: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0b50: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0b60: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0b70: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0b80: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0b90: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ba0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0bb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0bc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0bd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0be0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0bf0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0c00: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0c10: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0c20: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0c30: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0c40: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0c50: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0c60: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0c70: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0c80: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0c90: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ca0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0cb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0cc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0cd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ce0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0cf0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0d00: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0d10: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0d20: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0d30: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0d40: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0d50: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0d60: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0d70: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0d80: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0d90: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0da0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0db0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0dc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0dd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0de0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0df0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0e00: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0e10: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0e20: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0e30: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0e40: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0e50: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0e60: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0e70: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0e80: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0e90: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ea0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0eb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ec0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ed0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ee0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ef0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0f00: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0f10: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0f20: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0f30: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0f40: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0f50: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0f60: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0f70: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0f80: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0f90: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0fa0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0fb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0fc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0fd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0fe0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0ff0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
'
我做错了什么?
我的消息使用者是MQ Classes for JMS(IBM MQ客户端v8.0.4)。
如果我在制作邮件时使用msg.setJMSCorrelationID而不是msg.setJMSCorrelationIDAsBytes,则问题就会消失。
答案 0 :(得分:0)
请检查:MQHRF vs MQHRF2
您的消息使用者似乎只支持Websphere MQ的raw MQSTR格式,不支持MQHRF2(带增强格式的 除了消息正文之外的标题)。因此,你看 消息中的MQHRF2标头(例如“”“”......)。
我认为发件人必须将目标客户端设置为1(即:MQ)。
Queue myQueue = session.createQueue("queue:///myQueue?targetClient=1");
答案 1 :(得分:0)
相关ID长度为24个字节。那你为什么不明确地创建一个相关ID呢?
TextMessage textMsg = session.createTextMessage("<myTestMsg type=\"TEST\"></myTestMsg>");
if (addCorrelationId) {
textMsg.setJMSCorrelationIDAsBytes(new byte[24]{
(byte)49,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,
(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,
(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00});
}
jmsProducer.send(textMsg);
07-19T18:15:04.688 + 02:00" /&GT;
此外,消息末尾的垃圾是什么?