|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Passing NULL value in MQRFH2. |
« View previous topic :: View next topic » |
Author |
Message
|
sunny_30 |
Posted: Wed May 02, 2007 2:53 pm Post subject: Passing NULL value in MQRFH2. |
|
|
 Master
Joined: 03 Oct 2005 Posts: 258
|
Guys, I have a problem and thought I wd need help here.
Version Im using:
WMB 6.0.0.3
MQ 6.0.2.0
Windows
I have a message coming in to the message-flow with a field inside the MQRFH2 containing No-value.This is how Iam getting the value as input:
<tgtFinalFilename></tgtFinalFilename>
This i guess is a field with No-value but not NULL.
The tree path I can reach to this field via ESQL in the Input message is:
InputRoot.MQRFH2.wmqft.tgtFinalFilename
The problem Iam having is:
Without manipulating this field and by just copying the Entire message in compute node, the field value is getting changed to NULL after output node. I see in the RFHUtil that Im sending this field as:
<tgtFinalFilename/> (to the output).
Im finding the end-application reading the output message having problem to interpret the message.
Even when I use the statement to hardcode the output message to:
SET OutputRoot.MQRFH2.wmqft.tgtFinalFilename = '';
still Im getting the same NULL to output instead of no-value.
Only when I do set this field to a 'space', Im temporarily able to work it out. SET OutputRoot.MQRFH2.wmqft.tgtFinalFilename = ' '; (space)
Why is this happening? Why the value in the RFH2 field is getting changed from No-value-tag to a NULL tag when I am not changing its value in the compute node of the flow.
Is this any problem with the Broker?
please help. Thanks in advance.
-Sunny. |
|
Back to top |
|
 |
Mensch |
Posted: Wed May 02, 2007 5:03 pm Post subject: |
|
|
Disciple
Joined: 17 Jul 2005 Posts: 166
|
It seems that there is something wrong with your ESQL..
Could you please send us the ESQL code?
OR
use the trace node after compute node in which you are setting MQRFH2 header and send us the trace node output.  _________________ Thanks and Regards ,
Mensch |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed May 02, 2007 7:50 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Quote: |
SET OutputRoot.MQRFH2.wmqft.tgtFinalFilename = ''; |
Using the wrong folder in the RFH to do anything.
This should go into the user folder. Read up in the pub / sub and programming manual about the RFH headers, their composition and usage.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
AkankshA |
Posted: Thu May 03, 2007 12:46 am Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
AFAIK we can create our own folders inside MQFRH2 header which can be as good as usr folder
try declaring a variable and initialize it with '' and later assign it to the value
Declare Test character '';
SET OutputRoot.MQRFH2.wmqft.tgtFinalFilename = Test; _________________ Cheers |
|
Back to top |
|
 |
sunny_30 |
Posted: Thu May 03, 2007 8:17 am Post subject: |
|
|
 Master
Joined: 03 Oct 2005 Posts: 258
|
Thanks for your replies.
As Saper suggested, Im not sure how it is going to impact if the user defined folders inside RFH2 are not named 'usr'. I had all other things working except this new problem Im seeing now.
Akanksha, I tried what you suggested, but the result is same.
Mensch, The ESQL Im using is: (replicating this scenario with another simple flow)
Quote: |
CopyEntireMessage(); |
Not modifying any contents.
The Input RFH2:
Quote: |
<tgtFinalFilename></tgtFinalFilename> (RFHUtil)--No-value
I see in the debugger that the "InputRoot.MQRFH2.wmqft.tgtFinalFilename" is empty.
The Input application is sending NULL in this field, but however using RFHUtil or debugger I see the tag field has no-data, which I guess is different from being totally NULL, which strangely Im seeing it on output. |
The Output RFH2 w/o modifying this field or any other message contents:
Quote: |
<tgtFinalFilename/> (RFHUtil)
I see in the debugger that the "OutputRoot.MQRFH2.wmqft.tgtFinalFilename" is empty. |
I cannot differentiate the Input & outputs being different in the debugger when the message passes through. They both look empty. But by RFHUtil, I spot the difference.
The end application reading the output message only works when I intervene the message to hardcode the output to space ' ';
Quote: |
Works only if:
OutputRoot.MQRFH2.wmqft.tgtFinalFilename = ' '; (space) |
Apart from copying the entire message, I also tried OutputRoot.MQRFH2.wmqft.tgtFinalFilename = ''; (no value) and
OutputRoot.MQRFH2.wmqft.tgtFinalFilename = NULL; (just to see)
which still results in <tgtFinalFilename/> (NULL)
Is my problem anyways related to the following thread discussion:
http://www.mqseries.net/phpBB2/viewtopic.php?t=35506&highlight=value+tag
http://www.mqseries.net/phpBB2/viewtopic.php?p=159697&sid=396912649952c297d9e0be5100fb064d
My data is not XMLNSC. But I suspect the XML structure inside the RFH2 is also behaving the same way, not differentiating the incoming no-value field.
Please suggest your thoughts.
-Sunny |
|
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
|
|
|
|