Author |
Message
|
pottas |
Posted: Wed Jan 16, 2008 5:02 am Post subject: MQGet Node not getting the Message by correlation ID |
|
|
 Disciple
Joined: 27 Oct 2005 Posts: 185 Location: South Africa
|
Hi,
I have installed Message Broker Toolkit 6.1 on a WIN platform.
I have the following message flows:
Flow1:
HTTPInput(Q1) -> Compute(1) -> MQOutput(Q2)
Flow2:
MQInput(Q3) -> MQGet(Q2) ->Compute(2) -> HTTPReply
Basically the exact same setup as the example in the 'Samples Gallery' - Web Services / HTTP Nodes.
In the Compute Node(1) I do the following:
Code: |
SET OutputRoot.MQMD.CorrelId = InputLocalEnvironment.WrittenDestination.MQ.DestinationData.msgId;
SET OutputRoot.MRM.env:Header.HTTP.RequestIdentifier = InputLocalEnvironment.Destination.HTTP.RequestIdentifier;
|
..but here's the problem:
When I run the flow, it doesn't get the correct message off the queue - even though I set the properties of the MQGet Node to be 'Get by Correlation ID'
I'm pretty sure I'm missing something somewhere - never used MQGet Nodes...
Any idea why I don't get the result that I anticipated? |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 16, 2008 5:03 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I'm really confused.
How is it that you expect to put the Compute node AFTER the MQGet node? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
pottas |
Posted: Wed Jan 16, 2008 5:08 am Post subject: |
|
|
 Disciple
Joined: 27 Oct 2005 Posts: 185 Location: South Africa
|
jeff,
I followed the Broker example as mentioned, I store the HTTP state in the first compute Node and then in Compute(2) I get the HTTP state again in order to build the HTTP reply. As in example flow: WSHOST_WSHOST1. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jan 16, 2008 5:14 am Post subject: Re: MQGet Node not getting the Message by correlation ID |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
pottas wrote: |
When I run the flow, it doesn't get the correct message off the queue - even though I set the properties of the MQGet Node to be 'Get by Correlation ID'
|
Where is the MQGet node set to source the correlation id from? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
pottas |
Posted: Wed Jan 16, 2008 5:25 am Post subject: |
|
|
 Disciple
Joined: 27 Oct 2005 Posts: 185 Location: South Africa
|
If I understand you correctly, Vitor, here's some of the properties of my MQGet Node:
Advanced Settings:
Transaction Mode: Yes
Generate Mode: Message and Local Environment
Copy Message: Copy Entire Message
Copy Local Environment: Copy Entire LocalEnvironment
Wait Inteval: 1000
Minimum Message Buffer Size: 4
Request:
Input MQMD Location: <not set>
Input MQ Paramter Location: <not set>
Get by Correlation ID: Yes
Get by Message ID: <not set>
Use all MQMD fields: <not set>
Browse Only: <not set>
...hopefully, Vitor I answered you question. If not, please direct me to what you exactly need. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jan 16, 2008 5:35 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
pottas wrote: |
...hopefully, Vitor I answered you question. If not, please direct me to what you exactly need. |
Ok, be aware I've no access to WMB v6 at the moment & I'm doing this from memory.
You've set "Get By Correl Id", but what is the source of the id field, on the 2nd tab IIRC?
Logically - you've got a node that is reading your Q2 looking for a message with a specific correlation id. How does the MQGet node, in your scenario, know what correlation id it's looking for? Where does it get that value? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 16, 2008 5:44 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You have Compute(2) wired after the MQGet node.
Nothing you do in Compute(2) will be visible to the MQGet node.
I can't believe that the sample that you followed is wired that way, so I have to assume it's something you dod. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
pottas |
Posted: Wed Jan 16, 2008 5:44 am Post subject: |
|
|
 Disciple
Joined: 27 Oct 2005 Posts: 185 Location: South Africa
|
I think you hit it smack on the nose, Vitor - that was something that bothered me when I built my flow by comparing it to the example flow in the Broker help contents. But, my friend, excuse the ignorance and lack of knowledge on my part , I still don't know where I should set something like this.
It does make sense that I need to set it - I figure it will be something in the properties of the MQGet Node, yes? |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jan 16, 2008 5:49 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
pottas wrote: |
It does make sense that I need to set it - I figure it will be something in the properties of the MQGet Node, yes? |
Like I said IIRC it's on the 2nd tab of properties. My memory may be defective. But you should also be mindful of jefflowrey's comment - setting the correlation id in a compute node after the MQGet can't be right no matter where the MQGet is sourcing it from.
I'd look at your flows again. I'm not familiar with the sample you quote but it seems an odd setup. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 16, 2008 5:50 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
|
Back to top |
|
 |
Vitor |
Posted: Wed Jan 16, 2008 5:56 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
jefflowrey wrote: |
http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/ac20806_.htm
 |
And if I was less idle I'd have looked that up myself!
It's the Request Tab then. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bullaydin |
Posted: Tue Jan 22, 2008 2:20 am Post subject: MQGet Node not getting the Message by correlation ID |
|
|
Apprentice
Joined: 16 Feb 2006 Posts: 25 Location: Germany
|
Hi all,
don't forget if you check Request option in MQOutput Node, then Message ID is being new generated. Perphaps it is your answer...
best _________________ *************************
" Sharing knowledge better than having it ."
http://www.openpoint.de |
|
Back to top |
|
 |
|