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 2001 Posts: 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 2005 Posts: 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 2004 Posts: 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 2002 Posts: 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 2001 Posts: 56
|
Thanks for the feedback. The main problem was that I didn't have STRUCT_ID in the MQMD.
thanks Peter |
|
Back to top |
|
 |
|