Posted: Wed Jan 24, 2007 10:42 am Post subject: Setting the Message Context
Acolyte
Joined: 16 Oct 2003 Posts: 69
Can I set the Message context inside the compute node?
I have an HTTP request that comes in, I remove the HTTP headers and create an MQMD before I send it off to a subflow which creates an audit message and puts it on a queue but the problem is that the MQOutput node Message Context of the Subflow is set to "Pass All" for the flow so I can't change it to "Set All". Here is what I am doing:
Quote:
CALL CopyMessageHeaders();
-- Output is MQ, so remove HTTP headers
SET OutputRoot.HTTPInputHeader = null;
-- Add an MQMD
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
SET OutputRoot.MQMD.StrucId = MQMD_STRUC_ID;
SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION;
SET OutputRoot.MQMD.MsgType = MQMT_DATAGRAM;
SET OutputRoot.MQMD.Format = MQFMT_STRING;
This is the error I get. Any ways around it?
Quote:
MessageException BIP2661E: The message received at output node 'xxxx.SubFlow.OutputNode' does not contain a valid MQMD. State = '-1' ''MQW001'' '0' ''''
The WebSphere Message Brokers output node 'xxxx.Subflow.OutputNode' has received a message to write to an WebSphere output queue, but the message does not contain a valid MQMD. This situation can occur when a output message is built incorrectly using a Compute node.
This is what is being put to the queue. It works when the message context is set to "Set All" but not when it is set to "Pass All" on the output node. I can't really change it to "Set All" just want to know how to set the context in the compute node.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum