|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Retry HTTP message in V6.1 |
« View previous topic :: View next topic » |
Author |
Message
|
shalabh1976 |
Posted: Wed Jan 16, 2008 3:44 am Post subject: Retry HTTP message in V6.1 |
|
|
 Partisan
Joined: 18 Jul 2002 Posts: 381 Location: Gurgaon, India
|
Hi,
I am new to HTTP. Environment is 6.1 on Win XP.
The requirement is that my input can come over MQ or HTTP.
While processing the message if an error happens I must query a database to find out what to do. Options are ABORT in which case I send an error message to a file or RETRY in which case the input message must be processed again after a decided interval. This error handler is a different flow that is generic and used by multiple flows.
I can get the name of the input queue from the database I can put the message to queue again and this will be picked up by the flow for processing again. A retry counter is also maintained in the message.
My problem is with the HTTP message. In case of a retry where do I put the message? ie how do i reenter the main flow like i can do for a MQ message.
I have thought of putting this message to some MQ queue and have the main flow read from both HTTPInput and this MQ queue.
In case of a MQ message I need to read from 1 source only, but for HTTP message I need 2. Also this does not look like a good solution - it increases the number of queues for each HTTP flow and things like that.
What is the way out? _________________ Shalabh
IBM Cert. WMB V6.0
IBM Cert. MQ V5.3 App. Prog.
IBM Cert. DB2 9 DB Associate |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 16, 2008 3:51 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
First, remember that HTTP is synchronous and does not have any notion of "backout" or "retry".
You should likely address this question with more senior developers/architects/managers at your location.
Because HTTP is synchronous, if you plan to retry this, then you need to send a response to the caller that says "an error occured, I will retry later". Or you need to send a response to the caller that says "an error occurred. I will not retry, but you can".
In either case, it seems likely that the error handler flow should be taking care of this for you.
If you decide to retry yourself, one option is to put the message on the queue that the MQInput already reads from - i.e. turn it from an HTTP message to an MQ message, and then everything works the way you want it.
But that doesn't allow for the HTTP caller to get the response it needs. _________________ I am *not* the model of the modern major general. |
|
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
|
|
|
|