Hello,

I am trying to design a webservice that will respond asynchronously and to a 
specific URL. I have read documentation on asynchronous services [1] but I 
have not found a solution for the following situation:
1. A client sends a soap request to the webservice
2. The webservice does some validation of the input (by actually calling 
another webservice)
3. If the validation succeds, the webservice responds with an xml that 
indicates that the operation is pending.
   3.1 The webservice does some work that takes a while (>1min)
   3.2 The webservice responds (succesfully or with a fault) to an URL 
specified by the client
   3.3 End
4. If the validation failed, the webservice responds with an xml that 
indicates that there is a problem

So I think this situation is weird since there is an initial acknowledge to 
the client (with data) and then the response is delivered somewhere else.

I have managed to use the addressing module to specify the URL for the final 
response
        options.setReplyTo(new EndpointReference(
                    "http://10.21.17.196:8888/pruebaservlet/pepe";));
However, when I call the service, I do not how to send or receive the 
acknowledge.
I monitored the http communication and the client sends correctly the soap 
request and the service responds with a 200 OK code but no content.

So this is my question: Is it possible to implement this scenario, i.e. an ack 
that indicates if the operation will or will not be performed, then the 
response is sent somewhere else.
Some other doubts: What would be the "ideal" way to handle this response?
With a simple servlet? Or perhaps an in-only webservice whose in-parameter is 
the output-parameter of the initial webservice. 
(I hope I am making some sense with these questions)

Thank you 


[1]
http://www.onjava.com/pub/a/onjava/2005/07/27/axis2.html?page=4
http://www.ibm.com/developerworks/webservices/library/ws-axis2/
http://today.java.net/pub/a/today/2006/12/13/invoking-web-services-using-
apache-axis2.html
-- 
David Ojeda

Reply via email to