| Author | Message | 
		
		  | p.cradwick | 
			  
				|  Posted: Wed Feb 08, 2006 1:49 am    Post subject: MQOutput node fails to convert Message tree to physical mess |   |  | 
		
		  | Acolyte
 
 
 Joined: 16 May 2001Posts: 56
 
 
 | 
			  
				| Hi, I am having problems with a simple MQOutput node! I have constructed a (complex) message in OutputRoot and with a breakpoint just before the MQOutput node the message tree looks like:
 
 Message
 Properties
 Encoding = 546
 CodedCharSetId = 437
 Transactional = true
 Persistence = true
 ReplyProtocol = MQ
 MQMD
 MsgType = 1
 Expiry = -1
 Encoding = 546
 CodedCharSetId = 437
 Format = MQSTR
 Priority = 0
 ReplyToQ = LB.INTERFACE.REPLY
 ReplyToQMgr = QM1
 XML
 IntPSRequestMsg
 Header
 InterfaceID = LB
 FileName = 060201LVB.csv
 TotalBatches = 2
 HTTPUrl = http:\\
 Batches
 Batch
 Batch
 LocalEnvironment
 TimeoutRequest
 MRM
 
 The Batch tags expand to lots of other xml...
 On letting the flow run it never makes it to the breakpoint past the MQOutput node and instead throws an exception 2660 which is:
 "The WebSphere Message Brokers output node '<insert_4>' has received a message for writing to a queue, but the message's bit stream is too short to be a valid message. This situation can occur when a message is built incorrectly by a Compute node (e.g. there is no MQMD)."
 and the message tree is destroyed i.e.:
 
 Message
 Properties
 MessageSet =
 MessageType =
 MessageFormat =
 Encoding = 546
 CodedCharSetId = 0
 Transactional = true
 Persistence = false
 CreationTime = 2006-02-08 22:26:09.021
 ExpirationTime = -1
 Priority = 0
 ReplyIdentifier = 000000000000000000000000000000000000000000000000
 ReplyProtocol =
 Topic =
 ContentType =
 LocalEnvironment
 TimeoutRequest
 
 The message has been propagated from further up the flow and there is another message due to come down. Is this behaviour caused by the propagate cleaning up before the MQOutput node gets a chance to convert the logical tree to a physical message?
 If so what can one do to prevent this?
 Or is there a better explanation?
 
 Any ideas gratefully received
 
 Thanks
 Peter
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | Vitor | 
			  
				|  Posted: Wed Feb 08, 2006 2:00 am    Post subject: |   |  | 
		
		  |  Grand High Poobah
 
 
 Joined: 11 Nov 2005Posts: 26093
 Location: Texas, USA
 
 | 
			  
				| Hi, 
 
 
   
	| Quote: |  
	| Is this behaviour caused by the propagate cleaning up before the MQOutput node gets a chance to convert the logical tree to a physical message? 
 |  
 Are you meaning that the COMPUTE node issue a PROPOGATE command before passing the tree to the MQOutput node?
 
 Vitor
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | elvis_gn | 
			  
				|  Posted: Wed Feb 08, 2006 2:01 am    Post subject: |   |  | 
		
		  |  Padawan
 
 
 Joined: 08 Oct 2004Posts: 1905
 Location: Dubai
 
 | 
			  
				| Hi p.cradwick, 
 Please set the following and try first
 
 MessageSet =
 MessageType =
 MessageFormat =
 
 If you are using an output message set then the above should have the properties of the same.
 If not, then simply use a CopyMessageHeaders.
 
 Regards.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jefflowrey | 
			  
				|  Posted: Wed Feb 08, 2006 5:39 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 19981
 
 
 | 
			  
				| If you are using Propagate inside a compute node, you have to make sure that the ESQL for the node ends with "Return false;" to avoid propagating an empty message out of the node. _________________
 I am *not* the model of the modern major general.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | p.cradwick | 
			  
				|  Posted: Thu Feb 09, 2006 4:56 pm    Post subject: |   |  | 
		
		  | Acolyte
 
 
 Joined: 16 May 2001Posts: 56
 
 
 | 
			  
				| Thanks for the feedback. The main problem was that I didn't have STRUCT_ID in the MQMD. thanks Peter
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  |  |