| 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: 20768 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: 20768 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: 20768 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 | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |