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]

Reply via email to