|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Unable to Write the message to Queue |
« View previous topic :: View next topic » |
Author |
Message
|
nukalas2010 |
Posted: Wed Mar 06, 2013 5:35 am Post subject: Unable to Write the message to Queue |
|
|
 Master
Joined: 04 Oct 2010 Posts: 220 Location: Somewhere in the World....
|
Dears,
I am facing issue like which I can't able to find the message in th Queue, BUt I can see the message properly before going to the queue.
Here is the Code:
Code: |
CREATE COMPUTE MODULE Sampleflow_Compute1
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
DECLARE inRoot REFERENCE TO InputRoot;
DECLARE outRoot REFERENCE TO OutputRoot;
SET OutputRoot.MQMD = InputRoot.MQMD;
SET OutputRoot.Properties = InputRoot.Properties;
CALL ConstructOutput(inRoot,outRoot);
-- SET OutputRoot.XMLNSC.Response.Result = InputRoot.XMLNSC.Request.Name || '_' || InputRoot.XMLNSC.Request.Office;
RETURN TRUE;
END;
END MODULE;
CREATE PROCEDURE ConstructOutput(IN inRoot REFERENCE, INOUT outRoot REFERENCE) BEGIN
SET outRoot.XMLNSC.Response.Result = inRoot.XMLNSC.Request.Name || '_' || inRoot.XMLNSC.Request.Office;
END; |
If I am not calling the procedure, I mean directly constructing the Output tree it's fine to see the message in the respective queue. I am not getting any idea where I struck.. Am I missing any basic thing here...
Thanks in Advance.. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Mar 06, 2013 5:49 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Yes.
Using a reference like this may not be correctly creating and assigning the XMLNSC parser to the tree named 'XMLNSC'.
So when the MQOutput node goes to serialize the logical message tree, it fails to find a parser that can create a bitstream, and so it fails to output a message.
explicitly create the XMLNSC tree in the procedure. |
|
Back to top |
|
 |
longng |
Posted: Wed Mar 06, 2013 9:20 am Post subject: |
|
|
Apprentice
Joined: 22 Feb 2013 Posts: 42
|
What are you trying to do in the ConstructOutput? Whatever you're trying to do in that procedure may inadvertently mess up the MQ Properties, MQMD etc. and that in turn would result in no messages being output. The fact that you can see messages being output when the procedure is removed is a good indication.
There's no need to create reference variables for either InputRoot or OutputRoot. These variables can be accessed directly anywhere within the node. |
|
Back to top |
|
 |
nukalas2010 |
Posted: Thu Mar 07, 2013 2:41 am Post subject: |
|
|
 Master
Joined: 04 Oct 2010 Posts: 220 Location: Somewhere in the World....
|
mqjeff wrote: |
So when the MQOutput node goes to serialize the logical message tree, it fails to find a parser that can create a bitstream, and so it fails to output a message.. |
Yes, I got it.
mqjeff wrote: |
explicitly create the XMLNSC tree in the procedure. |
Yes, I got where I missed this basic thing... Thanku mqjeff..  |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|