Author |
Message
|
Florent |
Posted: Thu Jan 31, 2008 2:37 am Post subject: MQ OutPut node problem |
|
|
Newbie
Joined: 31 Jan 2008 Posts: 5
|
Hello,
I'm trying to create a message flow to put a SOAP envelope on a MQ queue from a HTTP input node.
So, my message flow is :
HTTP Input -> Compute -> MQOutPut ->HTTP Reply
But, after executing the flow, when i'm browsing the queue (the one i set on the MQOutPut properties), i find it empty : not a single message...
It seems the put is correctly done, but the message is read right away. If i make my queue "put only", then i can see my message, but i got an error during the http reply process.
Any idea? |
|
Back to top |
|
 |
elvis_gn |
Posted: Thu Jan 31, 2008 2:55 am Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi Florent,
Because there is an error on the HTTPReply the message on the Output queue must be getting backed out.
Maybe you can set the Transaction = 'No' and try.
Regards. |
|
Back to top |
|
 |
Florent |
Posted: Thu Jan 31, 2008 3:02 am Post subject: |
|
|
Newbie
Joined: 31 Jan 2008 Posts: 5
|
Hi Elvis,
I don't really understand what you mean by :
elvis_gn wrote: |
Because there is an error on the HTTPReply the message on the Output queue must be getting backed out. |
I did try to set "Transaction = No" on the MQOutPut node, but without any success. |
|
Back to top |
|
 |
vsr |
Posted: Thu Jan 31, 2008 6:38 am Post subject: |
|
|
Centurion
Joined: 04 Apr 2006 Posts: 104
|
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Jan 31, 2008 6:43 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I'm confused about this comment about "make the queue 'put only'"?
Is something reading from the queue you are writing to?
Also, I would expect that you need a Compute node after the MQOutput, anyway, in order to make sure that the message is valid for passing to the HTTPReply node - i.e to remove the MQMD and restore the HTTP header information. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Florent |
Posted: Thu Jan 31, 2008 8:54 am Post subject: |
|
|
Newbie
Joined: 31 Jan 2008 Posts: 5
|
I did read it, i also generated the MQMD but still the same problem.
jefflowrey wrote: |
I'm confused about this comment about "make the queue 'put only'"? |
I meant i set extract message = No (not allowed)
jefflowrey wrote: |
Is something reading from the queue you are writing to? |
Yes, it seems the MQOutPut node is doing it...
jefflowrey wrote: |
Also, I would expect that you need a Compute node after the MQOutput, anyway, in order to make sure that the message is valid for passing to the HTTPReply node - i.e to remove the MQMD and restore the HTTP header information. |
True, but i'm currently focusing on sending a message to a queue using a http input node. |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Jan 31, 2008 8:57 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The MQOutput node absolutely, positively, will never have a queue open for Input.
The only way it will "remove" a message from a queue is if the message "rolls back", because of an error.
You are very unclear on what you are actually doing - rather than what you are trying to do.
It seems likely you did not get training on Broker. Please recommend to your superiors that you need this training, and that they need to provide it for you.
You can't wire an HTTPReply node directly to the output of an MQOutput node and expect everything to work. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Florent |
Posted: Thu Jan 31, 2008 9:25 am Post subject: |
|
|
Newbie
Joined: 31 Jan 2008 Posts: 5
|
jefflowrey wrote: |
Please recommend to your superiors that you need this training, and that they need to provide it for you. |
Well i have to admit i'm a novice to WMB. But i already know the answer if i ask a such thing to my superior...
jefflowrey wrote: |
You can't wire an HTTPReply node directly to the output of an MQOutput node and expect everything to work. |
If i remove the HTTPReply node, i'll get a timeout because HTTPInput is waiting for an answer. But the message will still be removed from the queue. I'll check if there is an error / rollback as you suggested.
It seems i have some trouble to understand MQ nodes and how they work. I've read the online documentation about those nodes, but it seems that's not enough. Any redbook i should read? |
|
Back to top |
|
 |
fschofer |
Posted: Fri Feb 01, 2008 12:20 am Post subject: |
|
|
 Knight
Joined: 02 Jul 2001 Posts: 524 Location: Mainz, Germany
|
Hi,
maybe it helps you to take a look at the 'Web Service sample' or the 'Coordinated Request Reply sample' provided with the broker toolkit.
They are doing similar stuff you want to do.
Click on Help - Welcome - Samples
Greetings
Frank |
|
Back to top |
|
 |
Florent |
Posted: Fri Feb 01, 2008 1:18 am Post subject: |
|
|
Newbie
Joined: 31 Jan 2008 Posts: 5
|
Hi guys,
Thanks for your kind replies.
I managed to get my problem solved : my test client had a default option i didn't notice... It was my test client that removed my message everytime.
I also add the compute node before the HTTPReply, and now, everything works fine. |
|
Back to top |
|
 |
|