Author |
Message
|
rajmq |
Posted: Thu May 25, 2006 8:46 am Post subject: MQRFH2 parser exception |
|
|
 Partisan
Joined: 29 Sep 2002 Posts: 331 Location: USA
|
Hi,
I am having issue that not able to read the MQRFH2 header value from the payload (attached blob message)
Actually our code is working fine when you use MQMD version 1 message but one of our application is sending the MQMD V2 message and the existing code is unable to parse the message because it contains MQMDE+MQRFH2 header values....
The problem is I am unable to find the MQMDE header length...How can I calculate this header length? Is it those values are Static or dynamic?
Trace Details :
(0x01000021):MRM = (
(0x01000013):MQXQH = (
(0x0300000B):StrucId = 'XQH '
(0x0300000B):Version = 1
(0x0300000B):RemoteQName = 'TEST_01 '
(0x0300000B):RemoteQMgrName = 'TESQM '
(0x01000013):MsgDesc = (
(0x0300000B):StrucId = 'MD '
(0x0300000B):Version = 1
(0x0300000B):Report = 0
(0x0300000B):MsgType = 8
(0x0300000B):Expiry = -1
(0x0300000B):Feedback = 0
(0x0300000B):Encoding = 546
(0x0300000B):CodedCharSetId = 850
(0x0300000B):Format = 'MQMDE '
(0x0300000B):Priority = 1
(0x0300000B):Persistence = 1
(0x0300000B):MsgId = X'414d5120544553542020202020202020e174754420003302'
(0x0300000B):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x0300000B):BackoutCount = 0
(0x0300000B):ReplyToQ = ' '
(0x0300000B):ReplyToQMgr = 'TEST '
(0x0300000B):UserIdentifier = ' '
(0x0300000B):AccountingToken = X'0000000000000000000000000000000000000000000000000000000000000000'
(0x0300000B):ApplIdentityData = '000325050616270002'
(0x0300000B):PutApplType = 11
(0x0300000B):PutApplName = 'mqsiputc.exe'
(0x0300000B):PutDate = '20060525'
(0x0300000B):PutTime = '16270426'
(0x0300000B):ApplOriginData = ' '
)
)
(0x0300000B):ApplMsg = X'5246482002000000c004000011010000b50100004d5153545220202000000000b80400000000000000000000000000000000000000000000010000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000980400003c6d63643e3c4d73643e6a6d735f746578743c2f4d73643e3c2f6d63643e3c6a6d733e3c4473743e71756575653a2f2f2f4943532e544f2e47534b3c2f4473743e3c546d733e313133333739343735323430303c2f546d733e3c4469763e323c2f4469763e3c2f6a6d733e3c7573723e3c47534b4865616465723e3c486561646572547970653e6541494d4865616465723c2f486561646572547970653e3c48656164657256657273696f6e3e313c2f48656164657256657273696f6e3e3c5472616e73616374696f6e56657273696f6e3e313c2f5472616e73616374696f6e56657273696f6e3e3c5472616e73616374696f6e547970653e6e6f74696669636174696f6e4d6573736167653c2f5472616e73616374696f6e547970653e3c47534b5472616e73616374696f6e56657273696f6e3e313c2f47534b5472616e73616374696f6e56657273696f6e3e3c47534b5472616e73616374696f6e547970653e6e6f74696669636174696f6e4d6573736167653c2f47534b5472616e73616374696f6e547970653e3c536f757263654170706c69636174696f6e4964656e7469666965723e303832313632303430303030373c2f536f757263654170706c69636174696f6e4964656e7469666965723e3c44657374696e6174696f6e4170706c69636174696f6e4964656e7469666965723e45414e434d353033343331363033303633303c2f44657374696e6174696f6e4170706c69636174696f6e4964656e7469666965723e3c456e7669726f6e6d656e743e4c4956453c2f456e7669726f6e6d656e743e3c52756e547970653e5452414e53414354494f4e414c3c2f52756e547970653e3c5061796c6f61644c656e6774683e31323334353c2f5061796c6f61644c656e6774683e3c4d6573736167655265636f7264436f756e743e313c2f4d6573736167655265636f7264436f756e743e3c4d6573736167654e756d6265723e313c2f4d6573736167654e756d6265723e3c546f74616c4d657373616765733e313c2f546f74616c4d657373616765733e3c427573696e6573735472616e73616374696f6e49643e3132333c2f427573696e6573735472616e73616374696f6e49643e3c4f726967696e6174696e675472616e73616374696f6e49643e3c2f4f726967696e6174696e675472616e73616374696f6e49643e3c4d6573736167655374617475733e5245504c593c2f4d6573736167655374617475733e3c44656c69766572794572726f72436f64653e3c2f44656c69766572794572726f72436f64653e3c45787465726e616c4572726f72436f64653e3c2f45787465726e616c4572726f72436f64653e3c4170706c69636174696f6e56616c6964617465643e4e3c2f4170706c69636174696f6e56616c6964617465643e3c5365637572655472616e73706f727452657175697265643e4e3c2f5365637572655472616e73706f727452657175697265643e3c4f726967696e616c44657374696e6174696f6e4170706c69636174696f6e4964656e7469666965723e3c2f4f726967696e616c44657374696e6174696f6e4170706c69636174696f6e4964656e7469666965723e3c2f47534b4865616465723e3c2f7573723e3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c65616e7563633a656e76656c6f706520636f6d6d756e69636174696f6e56657273696f6e3d22312e332e312220786d6c6e733a777772653d22687474703a2f2f7777772e777772652e6f72672f77696d2f736368656d61732f332e302f777772652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a65616e7563633d22687474703a2f2f7777772e65616e2d7563632e6f72672f736368656d61732f312e332e312f65616e7563632220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d22687474703a2f2f7777772e65616e2d7563632e6f72672f736368656d61732f312e332e312f65616e75636320687474703a2f2f7777772e776f726c647769646572657461696c65786368616e67652e6f72672f63732f786d6c736368656d61732f57494d332e302f575752455f4e6f74696669636174696f6e2e787364223e093c6d657373616765486561646572206372656174696f6e446174653d22323030352d31322d30325431373a34363a35362d30353a3030223e09093c7573657249643e303832313632303030303030393c2f7573657249643e09093c6d6573736167654964656e7469666965723e30383531393231383130323036313930383438333c2f6d6573736167654964656e7469666965723e09093c746f3e0909093c676c6e3e303035333130303630313438363c2f676c6e3e09093c2f746f3e09093c726570726573656e74696e6750617274793e0909093c676c6e3e303832313632303030303030393c2f676c6e3e09093c2f726570726573656e74696e6750617274793e093c2f6d6573736167654865616465723e093c626f64793e09093c65616e7563633a7472616e73616374696f6e3e0909093c656e746974794964656e74696669636174696f6e3e090909093c756e6971756543726561746f724964656e74696669636174696f6e3e30323431313630353938303938393835323631343c2f756e6971756543726561746f724964656e74696669636174696f6e3e090909093c636f6e74656e744f776e65723e09090909093c676c6e3e303832313632303030303030393c2f676c6e3e090909093c2f636f6e74656e744f776e65723e0909093c2f656e746974794964656e74696669636174696f6e3e0909093c636f6d6d616e643e090909093c65616e7563633a646f63756d656e74436f6d6d616e643e09090909093c646f63756d656e74436f6d6d616e6448656164657220747970653d22414444223e0909090909093c656e746974794964656e74696669636174696f6e3e090909090909093c756e6971756543726561746f724964656e74696669636174696f6e3e30323431313630353938313638373434343031363c2f756e6971756543726561746f724964656e74696669636174696f6e3e090909090909093c636f6e74656e744f776e65723e09090909090909093c676c6e3e303832313632303030303030393c2f676c6e3e090909090909093c2f636f6e74656e744f776e65723e0909090909093c2f656e746974794964656e74696669636174696f6e3e09090909093c2f646f63756d656e74436f6d6d616e644865616465723e09090909093c646f63756d656e74436f6d6d616e644f706572616e643e0909090909093c777772653a6e6f74696669636174696f6e4d65737361676520636f6e74656e7456657273696f6e3d22312e302220646f63756d656e7453747275637475726556657273696f6e3d22312e332e3122206c617374557064617465446174653d22323030352d31322d30325431373a34363a353622206372656174696f6e446174653d22323030352d31322d30325431373a34363a35362220646f63756d656e745374617475733d224f524947494e414c223e090909090909093c66696c654e6f74696669636174696f6e732066696c655374617475733d225245434549564544222066696c6549643d223139343538353735343031393039383233393834223e09090909090909093c6d657373616765732f3e090909090909093c2f66696c654e6f74696669636174696f6e733e090909090909202020203c7472616e73616374696f6e4e6f74696669636174696f6e73207472616e73616374696f6e49643d22313934353835373534303139303938323339383422207472616e73616374696f6e5374617475733d225245434549564544223e3c6d657373616765732f3e3c7265636f726420706f736974696f6e496e46696c653d223122207374617475733d225245434549564544223e3c777772653a636972724b6579732063726561746f7249643d2230383531393231383130303934363236303433392220676c6e3d223030353331303036303134383622206774696e3d2231303331303135383131373230362220746d3d223834302220746d7375626469763d226e756c6c222f3e3c6d657373616765732f3e3c2f7265636f72643e3c7265636f726420706f736974696f6e496e46696c653d223222207374617475733d225245434549564544223e3c777772653a636972724b6579732063726561746f7249643d2230383531393231383130303934363236303433392220676c6e3d223030353331303036303134383622206774696e3d2230303331303135383131373230392220746d3d223834302220746d7375626469763d226e756c6c222f3e3c6d657373616765732f3e3c2f7265636f72643e20203c2f7472616e73616374696f6e4e6f74696669636174696f6e733e20203c2f777772653a6e6f74696669636174696f6e4d6573736167653e09090909093c2f646f63756d656e74436f6d6d616e644f706572616e643e090909093c2f65616e7563633a646f63756d656e74436f6d6d616e643e0909093c2f636f6d6d616e643e09093c2f65616e7563633a7472616e73616374696f6e3e093c2f626f64793e3c2f65616e7563633a656e76656c6f70653e'
Thanks in Advance
Raj |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu May 25, 2006 9:04 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Quote: |
(0x01000013):MQXQH = ( |
WHAT?
That's a Transmission Queue Header!
Don't do that! _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
rajmq |
Posted: Thu May 25, 2006 1:18 pm Post subject: MQRFH2 parser exception |
|
|
 Partisan
Joined: 29 Sep 2002 Posts: 331 Location: USA
|
Hi Jeff ,
Thanks for your reply...first part is Xmitq header but
In the below,blob msg contains MQMDE +MQRFH2 values and i need remove the MQMDE header values..
(0x0300000B):ApplMsg = X'5246482002000000c004000011010000b50100004d5153545220202000000000b80400000000000000000000000000000000000000000000010000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000980400003c6d63643e3c4d73643e6a6d735f746578743c2f4d73643e3c2f6d63643e3c6a6d733e3c4473743e71756575653a2f2f2f4943532e544f2e47534b3c2f4473743e3c546d733e313133333739343735323430303c2f546d733e3c4469763e323c2f4469763e3c2f6a6d733e3c7573723e3c47534b4865616465723e3c486561646572547970653e6541494d4865616465723c2f486561646572547970653e3c48656164657256657273696f6e3e313c2f48656164657256657273696f6e3e3c5472616e73616374696f6e56657273696f6e3e313c2f5472616e73616374696f6e56657273696f6e3e3c5472616e73616374696f6e547970653e6e6f74696669636174696f6e4d6573736167653c2f5472616e73616374696f6e547970653e3c47534b5472616e73616374696f6e56657273696f6e3e313c2f47534b5472616e73616374696f6e56657273696f6e3e3c47534b5472616e73616374696f6e547970653e6e6f74696669636174696f6e4d6573736167653c2f47534b5472616e73616374696f6e547970653e3c536f757263654170706c69636174696f6e4964656e7469666965723e303832313632303430303030373c2f536f757263654170706c69636174696f6e4964656e7469666965723e3c44657374696e6174696f6e4170706c69636174696f6e4964656e7469666965723e45414e434d353033343331363033303633303c2f44657374696e6174696f6e4170706c69636174696f6e4964656e7469666965723e3c456e7669726f6e6d656e743e4c4956453c2f456e7669726f6e6d656e743e3c52756e547970653e5452414e53414354494f4e414c3c2f52756e547970653e3c5061796c6f61644c656e6774683e31323334353c2f5061796c6f61644c656e6774683e3c4d6573736167655265636f7264436f756e743e313c2f4d6573736167655265636f7264436f756e743e3c4d6573736167654e756d6265723e313c2f4d6573736167654e756d6265723e3c546f74616c4d657373616765733e313c2f546f74616c4d657373616765733e3c427573696e6573735472616e73616374696f6e49643e3132333c2f427573696e6573735472616e73616374696f6e49643e3c4f726967696e6174696e675472616e73616374696f6e49643e3c2f4f726967696e6174696e675472616e73616374696f6e49643e3c4d6573736167655374617475733e5245504c593c2f4d6573736167655374617475733e3c44656c69766572794572726f72436f64653e3c2f44656c69766572794572726f72436f64653e3c45787465726e616c4572726f72436f64653e3c2f45787465726e616c4572726f72436f64653e3c4170706c69636174696f6e56616c6964617465643e4e3c2f4170706c69636174696f6e56616c6964617465643e3c5365637572655472616e73706f727452657175697265643e4e3c2f5365637572655472616e73706f727452657175697265643e3c4f726967696e616c44657374696e6174696f6e4170706c69636174696f6e4964656e7469666965723e3c2f4f726967696e616c44657374696e6174696f6e4170706c69636174696f6e4964656e7469666965723e3c2f47534b4865616465723e3c2f7573723e3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c65616e7563633a656e76656c6f706520636f6d6d756e69636174696f6e56657273696f6e3d22312e332e312220786d6c6e733a777772653d22687474703a2f2f7777772e777772652e6f72672f77696d2f736368656d61732f332e302f777772652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a65616e7563633d22687474703a2f2f7777772e65616e2d7563632e6f72672f736368656d61732f312e332e312f65616e7563632220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e636522207873693a736368656d614c6f636174696f6e3d22687474703a2f2f7777772e65616e2d7563632e6f72672f736368656d61732f312e332e312f65616e75636320687474703a2f2f7777772e776f726c647769646572657461696c65786368616e67652e6f72672f63732f786d6c736368656d61732f57494d332e302f575752455f4e6f74696669636174696f6e2e787364223e093c6d657373616765486561646572206372656174696f6e446174653d22323030352d31322d30325431373a34363a35362d30353a3030223e09093c7573657249643e303832313632303030303030393c2f7573657249643e09093c6d6573736167654964656e7469666965723e30383531393231383130323036313930383438333c2f6d6573736167654964656e7469666965723e09093c746f3e0909093c676c6e3e303035333130303630313438363c2f676c6e3e09093c2f746f3e09093c726570726573656e74696e6750617274793e0909093c676c6e3e303832313632303030303030393c2f676c6e3e09093c2f726570726573656e74696e6750617274793e093c2f6d6573736167654865616465723e093c626f64793e09093c65616e7563633a7472616e73616374696f6e3e0909093c656e746974794964656e74696669636174696f6e3e090909093c756e6971756543726561746f724964656e74696669636174696f6e3e30323431313630353938303938393835323631343c2f756e6971756543726561746f724964656e74696669636174696f6e3e090909093c636f6e74656e744f776e65723e09090909093c676c6e3e303832313632303030303030393c2f676c6e3e090909093c2f636f6e74656e744f776e65723e0909093c2f656e746974794964656e74696669636174696f6e3e0909093c636f6d6d616e643e090909093c65616e7563633a646f63756d656e74436f6d6d616e643e09090909093c646f63756d656e74436f6d6d616e6448656164657220747970653d22414444223e0909090909093c656e746974794964656e74696669636174696f6e3e090909090909093c756e6971756543726561746f724964656e74696669636174696f6e3e30323431313630353938313638373434343031363c2f756e6971756543726561746f724964656e74696669636174696f6e3e090909090909093c636f6e74656e744f776e65723e09090909090909093c676c6e3e303832313632303030303030393c2f676c6e3e090909090909093c2f636f6e74656e744f776e65723e0909090909093c2f656e746974794964656e74696669636174696f6e3e09090909093c2f646f63756d656e74436f6d6d616e644865616465723e09090909093c646f63756d656e74436f6d6d616e644f706572616e643e0909090909093c777772653a6e6f74696669636174696f6e4d65737361676520636f6e74656e7456657273696f6e3d22312e302220646f63756d656e7453747275637475726556657273696f6e3d22312e332e3122206c617374557064617465446174653d22323030352d31322d30325431373a34363a353622206372656174696f6e446174653d22323030352d31322d30325431373a34363a35362220646f63756d656e745374617475733d224f524947494e414c223e090909090909093c66696c654e6f74696669636174696f6e732066696c655374617475733d225245434549564544222066696c6549643d223139343538353735343031393039383233393834223e09090909090909093c6d657373616765732f3e090909090909093c2f66696c654e6f74696669636174696f6e733e090909090909202020203c7472616e73616374696f6e4e6f74696669636174696f6e73207472616e73616374696f6e49643d22313934353835373534303139303938323339383422207472616e73616374696f6e5374617475733d225245434549564544223e3c6d657373616765732f3e3c7265636f726420706f736974696f6e496e46696c653d223122207374617475733d225245434549564544223e3c777772653a636972724b6579732063726561746f7249643d2230383531393231383130303934363236303433392220676c6e3d223030353331303036303134383622206774696e3d2231303331303135383131373230362220746d3d223834302220746d7375626469763d226e756c6c222f3e3c6d657373616765732f3e3c2f7265636f72643e3c7265636f726420706f736974696f6e496e46696c653d223222207374617475733d225245434549564544223e3c777772653a636972724b6579732063726561746f7249643d2230383531393231383130303934363236303433392220676c6e3d223030353331303036303134383622206774696e3d2230303331303135383131373230392220746d3d223834302220746d7375626469763d226e756c6c222f3e3c6d657373616765732f3e3c2f7265636f72643e20203c2f7472616e73616374696f6e4e6f74696669636174696f6e733e20203c2f777772653a6e6f74696669636174696f6e4d6573736167653e09090909093c2f646f63756d656e74436f6d6d616e644f706572616e643e090909093c2f65616e7563633a646f63756d656e74436f6d6d616e643e0909093c2f636f6d6d616e643e09093c2f65616e7563633a7472616e73616374696f6e3e093c2f626f64793e3c2f65616e7563633a656e76656c6f70653e'
Thanks
Raj |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu May 25, 2006 1:30 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You should not in any way be processing any messages that have XmitQ Headers on them!
At all!
Ever!
Don't do that! _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
rajmq |
Posted: Thu May 25, 2006 10:38 pm Post subject: MQRFH2 parser exception |
|
|
 Partisan
Joined: 29 Sep 2002 Posts: 331 Location: USA
|
Hi,
I am sure, we are not processing any message in the XmitQ and the Applmsg is contains the header values that i need to parse ?
Thanks |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri May 26, 2006 1:53 am Post subject: Re: MQRFH2 parser exception |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
rajmq wrote: |
Hi,
I am sure, we are not processing any message in the XmitQ and the Applmsg is contains the header values that i need to parse ?
Thanks |
Looks to me that you ARE trying to process a message from an XMITQ....
Could be a possible routing problem where a queue is getting processed by the broker that has the same name as a qmgr but is an input q to the broker?
Possibly a qmgr alias wrongly defined??
Read the intercommunications manual and make sure you have your MQ routing separate from your broker routing !
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
guest_2008 |
Posted: Fri May 26, 2006 3:57 am Post subject: |
|
|
Novice
Joined: 25 May 2006 Posts: 14
|
Hi fjb,
Thanks for your mail,
Yeah you are correct! But I am not processing the message from XmitQ,.
Actually we are parsing the RFH2 header values from the payload and storing those values in the database for logging facility.
If the message contains with below structure and the flow is parsing the message
MQMD+RFH2+Application data,
But the message comes with (MQMD+MQMDE+RFH2) structure and it is not able to parse the message because of the new header.
Thanks, |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri May 26, 2006 6:11 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The trace you posted had an MQXQH on it.
That is the header added on messages that are on XMITQs.
The only two ways you could have gotten that header on a message were either a) reading messages from an XMITQ, or b) having an application that builds an MQXQH header and putting it on a message.
BOTH OF THESE ARE EXTREMELY WRONG AND BAD AND DON'T DO THAT!
Please take some time to figure out why you got a message with an MQXQH on it, and fix your configuration and applications so that this never happens again.
And only then think about and try and troubleshoot any issues you might have with MQRFH2. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|