Author |
Message
|
patarik |
Posted: Wed Jul 13, 2016 10:16 am Post subject: JMS Message Tree missing application property |
|
|
Newbie
Joined: 12 May 2016 Posts: 6
|
Hi,
I send the JMS message from IB 10 flow with JMSOutput node to MQ 8 queue.
Problem is that message that arrive in MQ is missing property, that I set in java compute node before.
The Output from Trace node after the JMSOutput node is:
( ['SOAPRoot' : 0x1fbd6690]
(0x01000000:Name ):Properties = (
(0x03000000:NameValue):jsonObjectType = 'com.somecompany.model.jms.CUDIdMessage' (CHARACTER)
)
(0x01000000:Name ):JMSTransport = (
(0x01000000:Name):Transport_Folders = (
(0x01000000:Name):Message_MetaData = (
(0x03000000:NameValue):PayloadType = 'jms_text' (CHARACTER)
(0x03000000:NameValue):jsonObjectType = 'com.somecompany.model.jms.CUDIdMessage' (CHARACTER)
)
(0x01000000:Name):Header_Values = (
(0x03000000:NameValue):jsonObjectType = 'com.somecompany.model.jms.CUDIdMessage' (CHARACTER)
)
(0x01000000:Name):Application_Properties = (
(0x03000000:NameValue):jsonObjectType = 'com.somecompany.model.jms.CUDIdMessage' (CHARACTER)
)
(0x01000000:Name):Provider_Properties =
(0x01000000:Name):Standard_Properties = (
(0x03000000:NameValue):jsonObjectType = 'com.somecompany.model.jms.CUDIdMessage' (CHARACTER)
)
)
)
(0x01000000:Object):JSON = ( ['json' : 0x1fbd69c0]
(0x01000000:Object):Data = (
(0x03000000:NameValue):zpisCudId = '5686773' (CHARACTER)
(0x03000000:NameValue):cudId = 'ZAZNAM-58' (CHARACTER)
(0x03000000:NameValue):timestamp = '1468433099633' (CHARACTER)
)
)
)
With MQ Explorer I see correct message body in the queue, but only properties that I see are:
JMSDeliveryMode 2
JMSDestination queue://IB10QMGR/CUD.ID.Q?CCSID=852&destDescription=Queue+created+from+Queue+%27CUD.ID.Q%27+on+Queue+Manager+%27IB9QMGR%27+at+%2713-j%C3%BAl-2016+14%3A22%3A07%27
JMSTimestamp 1468433099697
mcd.Msd jms_text
the property jsonObjectType is just missing.
Even when I set it everywhere.
Where coulb be a problem? |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jul 13, 2016 10:41 am Post subject: Re: JMS Message Tree missing application property |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
patarik wrote: |
the property jsonObjectType is just missing.
Even when I set it everywhere.
Where could be a problem? |
Well it seems that everywhere you are trying to set the property is the wrong place. Have you thought about setting it in the usr folder of the RFH header?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
patarik |
Posted: Wed Jul 13, 2016 11:44 am Post subject: Re: JMS Message Tree missing application property |
|
|
Newbie
Joined: 12 May 2016 Posts: 6
|
fjb_saper wrote: |
patarik wrote: |
the property jsonObjectType is just missing.
Even when I set it everywhere.
Where could be a problem? |
Well it seems that everywhere you are trying to set the property is the wrong place. Have you thought about setting it in the usr folder of the RFH header?  |
Thanks, but even with such message there is no property in MQ queue
Code: |
( ['SOAPRoot' : 0x1fbd6030]
(0x01000000:Name ):MQMD = ( ['MQHMD' : 0x16e6d4f0]
(0x03000000:NameValue):Encoding = 273 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 1208 (INTEGER)
(0x03000000:NameValue):Format = 'MQHRF2' (CHARACTER)
(0x01000000:Name ):Properties =
(0x01000000:Name ):MQRFH2 = ( ['MQHRF2' : 0x1755b080]
(0x01000000:Name ):usr = (
(0x03000000:NameValue):jsonObjectType = 'com.somecompany.model.jms.CUDIdMessage' (CHARACTER)
)
(0x03000000:NameValue):usr.jsonObjectType = 'com.somecompany.model.jms.CUDIdMessage' (CHARACTER)
)
)
(0x01000000:Name ):Properties =
(0x01000000:Name ):JMSTransport = (
(0x01000000:Name):Transport_Folders = (
(0x01000000:Name):Message_MetaData = (
(0x03000000:NameValue):PayloadType = 'jms_text' (CHARACTER)
)
(0x01000000:Name):Header_Values =
(0x01000000:Name):Application_Properties =
(0x01000000:Name):Provider_Properties =
(0x01000000:Name):Standard_Properties =
)
)
(0x01000000:Object):JSON = ( ['json' : 0x1fbd6690]
(0x01000000:Object):Data = (
(0x03000000:NameValue):zpisCudId = '5686773' (CHARACTER)
(0x03000000:NameValue):cudId = 'ZAZNAM-75' (CHARACTER)
(0x03000000:NameValue):timestamp = '1468438763495' (CHARACTER)
)
)
)
|
Could you suggest me a proper MQRFH2 content?
It seems to me, that when I create such a message and then I put it into JMSOutput node, the Application_Properties under Transport_Folders is enough. RFH2 header should be used for MQOutput node.
Last edited by patarik on Wed Jul 13, 2016 12:19 pm; edited 1 time in total |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jul 13, 2016 12:15 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You start with the standard MQ headers in our tree:
Code: |
OutputRoot
Properties
MQMD
MQRFH2
PARSER
PAYLOAD |
Don't forget the principles of header chaining...
And use an MQ to JMS Transform node. _________________ MQ & Broker admin |
|
Back to top |
|
 |
patarik |
Posted: Wed Jul 13, 2016 10:20 pm Post subject: |
|
|
Newbie
Joined: 12 May 2016 Posts: 6
|
OK.
Correct format to send JMS message using the MQOutput node is (mininal form)
Code: |
( ['SOAPRoot' : 0x1fbd6030]
(0x01000000:Name ):Properties =
(0x01000000:Name ):MQMD = ( ['MQHMD' : 0x17466d90]
(0x03000000:NameValue):Encoding = 273 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 1208 (INTEGER)
(0x03000000:NameValue):Format = 'MQHRF2' (CHARACTER)
)
(0x01000000:Name ):MQRFH2 = ( ['MQHRF2' : 0x2087fc70]
(0x03000000:NameValue):Format = 'MQSTR' (CHARACTER)
(0x01000000:Name ):usr = (
(0x01000000:Name):jsonObjectType = (
(0x02000000:Value): = 'com.somecompany.model.jms.CUDIdMessage' (CHARACTER)
)
)
)
(0x01000000:Object):JSON = ( ['json' : 0x1fbd6cf0]
(0x01000000:Object):Data = (
(0x03000000:NameValue):zpisCudId = '5686773' (CHARACTER)
(0x03000000:NameValue):cudId = 'ZAZNAM-86' (CHARACTER)
(0x03000000:NameValue):timestamp = '1468476412531' (CHARACTER)
)
)
)
|
How it works with JMSOutput node I dont know. |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu Jul 14, 2016 1:52 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
to be totally correct (???) you should also set the CCSID and encoding in the RFH2 Header. This describes the CCSID/encoding of the data (i.e. the JSON message itself) when put on a queue. It may not matter in this instance but if you get into the habit of setting it then when you need someting special the placeholders for making the chare are already there. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jul 14, 2016 5:29 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
I am a little bit confused here. Why do we have a SoapRoot with a JSON payload / parser ??  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|