Author |
Message
|
rajasri |
Posted: Wed Aug 09, 2006 3:44 am Post subject: MQGet Node Bug |
|
|
 Centurion
Joined: 11 Jun 2006 Posts: 114
|
Hi all, i think there is a bug in MQget Node.
When i give Result Data Location value = ResultRoot.MQMD or ResultRoot.XML or ResultRoot.MRM, and if i dont have a msg with the same correlation id as that of the Input message in the Cache Queue which the MQGet node ic pointing to, the, then the control goes to NoMessage Terminal.
BUT if i give the result data location as ResultRoot.MQRFH2 or any location which is accessing MQRFH@, then if i dont have a msg with the same correlation id as that of the Input message in Cache Queue, then it goes to Failure Terminal. I dint understand the reason for this peculiar behaviour of Get node towards MQRFH2 header.
would any one sort this doubt plz |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Aug 09, 2006 12:48 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Well you can't just stuff the result of the operation, whatever the operation is into the RFH header...
Thus the move to the failure terminal...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
rajasri |
Posted: Wed Aug 09, 2006 8:56 pm Post subject: Bug MQget node |
|
|
 Centurion
Joined: 11 Jun 2006 Posts: 114
|
Hi saper, I really dont understand what u meant to say. I think this is how MQGet node works.
The location specified in Result Data Location in the retrieved message will be placed in the location specified in Output data location.
If iam wrong plz correct me |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Aug 10, 2006 2:49 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Read up on pub/sub and RFH header and things will be more clear to you  _________________ MQ & Broker admin |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Aug 10, 2006 3:17 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
FJ -
The Result Data Location is not where data is PUT. It is where data is FOUND. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Aug 10, 2006 3:46 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Maybe I'm wrong.
Somebody needs to double-check the MQGet node documentation and see the difference between the Result data location and the Output data location. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Aug 10, 2006 3:50 am Post subject: Re: Bug MQget node |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
rajasri wrote: |
Hi saper, I really dont understand what u meant to say. I think this is how MQGet node works.
The location specified in Result Data Location in the retrieved message will be placed in the location specified in Output data location.
If iam wrong plz correct me |
Where does the Result Data Location start ? InputRoot or InputBody which would exclude the RFH! and any other header recognized by the parser...
I find it easier to just put the existing message into the environment, accept the full message and match. The next compute node can then restore the message from the environment and mix and match from the RFH in the InputRoot... _________________ MQ & Broker admin |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Aug 10, 2006 4:21 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
MB Info Center Reference MQGet Node wrote: |
Select Result in the properties dialog navigator and set values for the properties that determine how the results of the MQGET call are handled.
In Output Data Location, enter the start location within the output message tree at which the parsed elements from the retrieved message bit string are stored; the default is OutputRoot. All elements at this location are deleted, and the default is to replace the input tree message with the retrieved message.
You can enter any valid ESQL field reference - this reference can include expressions - including new field references to create a new node within the message tree for inserting the response into the message that is propagated from the input tree.
For example, OutputRoot.XMLNS.ABC.DEF and Environment.GotReply are valid field references. See Using an MQGet node in a request-response flow for more detailed information.
When the retrieved message bit string is parsed to create the contents of the message tree, the message properties that you have specified as the Default properties of the node are used.
Set a value in Result Data Location to control which subtree of the retrieved message is placed in the output message. The default is ResultRoot which means that the whole retrieved message is placed in the output message. If, for example, you want only the MQMD from the retrieved message, use ResultRoot.MQMD; this subtree is then placed at the location specified by Output Data Location.
|
_________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
wschutz |
Posted: Thu Aug 10, 2006 6:56 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
From I presentation I've recently seen given:
Quote: |
Output Data Location:
Where to store retrieved message in tree
Result Data Location:
what subtree of retrieved message is stored in above location
|
_________________ -wayne |
|
Back to top |
|
 |
|