Hi Jeremy
One of my clients has an interesting problem
We have a messaging system (System A) that delivers messages to a simple web
service deployed in axis. the web service attempts to relay the message to a
second System (System B). If system B is up and running then all goes well and
axis responds to system A with a success msg. if System B is down then an error
is thrown and axis responds to System A with a failure error.The problem: If
system A receives any response from axis at all it assumes the message was
delivered and does not try to resend the message. What we would like to happen
is if an error is thrown in the web service we would like to cut connection to
System A so it times out and attempts to resend the msg later. Has anyone tried
to do this kind of thing before? We do not have control over System A so we
cannot change the code to check the response from axis to see if it is an
success or failure.
You could use the Apache Synapse ESB (http://synapse.apache.org) and
create a proxy service that fronts your real web service. Create the
proxy similar to this example [150]. In the <outSequence>, use an XPath
or other filter to find out if the message is a successful reply and put
the <send/> within that filter. (See first few samples on how to do CBR)
For the error case, if you don't pass it through the <send/>, the
response will timeout to your system A since its dropped at the ESB
cheers
asankha
[150] http://synapse.apache.org/Synapse_Samples.html#Sample150
--
Asankha C. Perera
http://adroitlogic.org
http://esbmagic.blogspot.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]