Author |
Message
|
tbenyacs |
Posted: Fri Sep 07, 2007 10:58 am Post subject: MQGet node 'no message' |
|
|
Novice
Joined: 19 Apr 2007 Posts: 18 Location: Budapest, HU
|
Hi guys,
I am working on mb6.0 with platform as windowsXP SP2. I am working on the following flow (1st flow):
MQInput(INPUT_Q)->Trace1->Compute1->MQOutput1(Q1)->MQGet(Q2)->Trace2->Compute2->MQOutput2(OUTPUT_Q)
The 2nd flow is the following:
MQInput(Q1)->Compute1->HTTPRequest->Compute2->MQOutput(Q2)
(The 2nd flow gets the)
The trouble is the following:
At first occasion (all the queues are empty) I put a test message into the INPUT_Q with correct MQMD and the 2nd flow put
the response message into Q2 successfully but the MQGet node of the 1st flow can't found it (propagated the input into the
'no message' terminal).
At second occasion (there is a message in the Q2 of the previous processing) I put the previous test message again into
the INPUT_Q and the MQGet node of the 1st flow get the previous test message from the Q2 so the flow ending with success
(the response message in the OUTPUT_Q).
Compute nodes aren't modify the MQMD.
The settings of the MQGet node are the following:
Message Domain = "MRM"
Message Type = "Envelope"
Message Format = "XML1"
Transaction Mode = "Automatic"
Generate Mode = "Message"
Copy Message = "Copy Headers"
Copy Local Environment = "Copy Entire LocalEnvironment"
Wait Interval(ms) = "3000"
Minimum message buffer size(KB) = "4"
Validate = "None"
Input MQMD Location = ""
Input MQ Parameters Location = ""
Get by Correlation ID = NO
Get by Message ID = NO
Use complete input MQMD = NO
Output Data Location = ""
Result Data Location = ""
Output MQ Paremeters Location = ""
Warning Data Location = ""
Parse Timing = "On Demand"
Use MQRFH2C Compact Parser for MQRFH2 Domain = NO
Use XMLNSC Compact Parser for XMLNS Domain = NO
Mixed Content Retain Mode = "None"
Comments Retain Mode = "None"
Processing Instructions Retain Mode = "None"
I tried to increase the Wait Interval to 30000ms without success.
I don't know what to do
Can anybody help me please? _________________ Tamas Benyacs |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Sep 07, 2007 11:15 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Did you set transaction mode on MQOutput1 to ensure that it put the message outside the unit of work? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Sep 07, 2007 1:14 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
After having done what Jeff said...
Did you set the MQMD.CorrelId on the MQMD being passed to the MQGET node so that it only picks up the right message. Did you set the checkmark in the node's properties for get by correlId ?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
tbenyacs |
Posted: Sun Sep 09, 2007 11:53 pm Post subject: |
|
|
Novice
Joined: 19 Apr 2007 Posts: 18 Location: Budapest, HU
|
jefflowrey wrote: |
Did you set transaction mode on MQOutput1 to ensure that it put the message outside the unit of work? |
The transaction mode is 'Yes' on MQOutput1. _________________ Tamas Benyacs |
|
Back to top |
|
 |
Vitor |
Posted: Mon Sep 10, 2007 12:08 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
tbenyacs wrote: |
jefflowrey wrote: |
Did you set transaction mode on MQOutput1 to ensure that it put the message outside the unit of work? |
The transaction mode is 'Yes' on MQOutput1. |
So it's inside the unit of work then? As jefflowrey points out, this isn't going to work.  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
tbenyacs |
Posted: Mon Sep 10, 2007 12:48 am Post subject: |
|
|
Novice
Joined: 19 Apr 2007 Posts: 18 Location: Budapest, HU
|
fjb_saper wrote: |
After having done what Jeff said...
Did you set the MQMD.CorrelId on the MQMD being passed to the MQGET node so that it only picks up the right message. Did you set the checkmark in the node's properties for get by correlId ?  |
Yes, I tried also with and without 'get by correlId' (Get by Correlation ID = NO / YES) but the working is the same: the MQGet can only get the message of the previous processing from the Q2.  _________________ Tamas Benyacs |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Sep 10, 2007 12:56 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
tbenyacs wrote: |
jefflowrey wrote: |
Did you set transaction mode on MQOutput1 to ensure that it put the message outside the unit of work? |
The transaction mode is 'Yes' on MQOutput1. |
Which means what? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Sep 10, 2007 1:08 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
fjb_saper wrote: |
After having done what Jeff said... |
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
tbenyacs |
Posted: Mon Sep 10, 2007 4:41 am Post subject: |
|
|
Novice
Joined: 19 Apr 2007 Posts: 18 Location: Budapest, HU
|
Vitor wrote: |
tbenyacs wrote: |
jefflowrey wrote: |
Did you set transaction mode on MQOutput1 to ensure that it put the message outside the unit of work? |
The transaction mode is 'Yes' on MQOutput1. |
So it's inside the unit of work then? As jefflowrey points out, this isn't going to work.  |
Thanks for everybody! The TRANSACTION MODE is the solution for this topic.
Bye _________________ Tamas Benyacs |
|
Back to top |
|
 |
|