Author |
Message
|
mangoMan |
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. |
|
|
Back to top |
|
 |
elvis_gn |
Posted: Wed Jan 24, 2007 10:45 am Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi mangoMan,
Could you generate a file trace after this compute and paste it here..
Regards. |
|
Back to top |
|
 |
mangoMan |
Posted: Wed Jan 24, 2007 11:03 am Post subject: |
|
|
Acolyte
Joined: 16 Oct 2003 Posts: 69
|
BIP4060I: Data ''(
(0x01000000):Destination = (
(0x01000000):HTTP = (
(0x03000000):RequestIdentifier = X'414d51205742524b365f44454641554cd88cb74520001a05'
)
)
)
(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'D58ILPK002001'
(0x03000000):MessageType = 'Envelope'
(0x03000000):MessageFormat = 'XML1'
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2007-01-24 18:59:48.481'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'SOAP-HTTP'
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'text/xml;charset=UTF-8'
)
(0x01000000):MQMD = (
(0x03000000):StrucId = 'MD '
(0x03000000):Version = 2
(0x03000000):MsgType = 8
(0x03000000):Format = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = 0
(0x03000000):PutDate = DATE '2007-01-24'
(0x03000000):PutTime = GMTTIME '18:59:48.481'
(0x03000000):Expiry = -1
(0x03000000):Priority = 0
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
)
)
'' from trace node 'Flow.Trace'. |
|
Back to top |
|
 |
mangoMan |
Posted: Wed Jan 24, 2007 11:30 am Post subject: |
|
|
Acolyte
Joined: 16 Oct 2003 Posts: 69
|
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.
Quote: |
BIP4060I: Data ''(
(0x01000000):Destination = (
(0x01000000):HTTP = (
(0x03000000):RequestIdentifier = X'414d51205742524b365f44454641554cd88cb74520001e1a'
)
)
)
(
(0x01000000):Properties = (
(0x03000000):MessageSet = 'D58ILPK002001'
(0x03000000):MessageType = 'Envelope'
(0x03000000):MessageFormat = 'XML1'
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = FALSE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2007-01-24 19:23:13.907'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'SOAP-HTTP'
(0x03000000):Topic = NULL
(0x03000000):ContentType = 'text/xml;charset=UTF-8'
)
(0x01000000):MQMD = (
(0x03000000):StrucId = 'MD '
(0x03000000):Version = 2
(0x03000000):MsgType = 8
(0x03000000):Format = 'MQSTR '
)
(0x01000010):XMLNS = (
(0x05000018):version = (
(0x02000000): = '1.0'
)
(0x01000000):CommonBaseEvents = (
(0x07000012)xmlns:NS1 = 'http://www.acd.com/GC/ddf'
(0x07000012)xmlns:xsi = 'http://www.w3.org/2001/XMLSchema-instance'
(0x01000000):TranType = (
(0x03000000):lock = 'AA'
(0x03000000):id = 'A'
(0x03000000):name = 'AA'
)
(0x01000000):PDtion = (
(0x03000000):cyName = 'StartSituation'
(0x01000000):Type = (
(0x03000000)http://www.w3.org/2001/XMLSchema-instance:type = 'derived'
)
)
)
)
)
)
'' from trace node 'Flow.Trace'. |
[/quote] |
|
Back to top |
|
 |
Bill.Matthews |
Posted: Wed Jan 24, 2007 12:52 pm Post subject: |
|
|
 Master
Joined: 23 Sep 2003 Posts: 232 Location: IBM (Retired)
|
Set the Context to Default _________________ Bill Matthews |
|
Back to top |
|
 |
|