Dear all,

I'm using the Axis2 ServiceClient in order to send a non-blocking request using 
"separate listeners".

The ServiceClient is used by a thread behind a Axis Web Service. My code works 
fine as a single application, but, when behind the Axis Service, I cannot 
receive the Callback.
The possible problem may come from the fact that the ServiceClient creates a 
listener precisely on the port used by the WPS, and thus, I suppose that the 
Axis Service (or web.xml) should "forward" the request to the right listener, 
but I don't know how.

Any help is very welcome.

Note that Axis2 is embedded into an existing application 
(http://www.developer.com/services/article.php/3777111/Embedding-Apache-Axis2-into-Existing-Applications.htm).

Thanks,

Christophe.

Code used :
                                                setExecuteClient(new 
ServiceClient()) ;
Options options = new Options();
                  // set the workflow endpoint
                  options.setTo(new 
EndpointReference(processesPrefix+algorithmID));
                  options.setUseSeparateListener(true);
                  options.setAction("urn:executeResponseCallback");
                  options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
                  // use WS-Adressing (to perform asynchronous request)
                  getExecuteClient().engageModule("addressing");
                  getExecuteClient().setOptions(options);
                  // get the callback manager
                  CallbackManager callback = new CallbackManager(this);
                  // send the request
                  // Following doesnt work
                  
LOGGER.info(((Document)doc.getDomNode()).getDocumentElement());
                  getExecuteClient().sendReceiveNonBlocking(XMLUtils.toOM( 
((Document)doc.getDomNode()).getDocumentElement()), callback);
                  waitCallback();

Reply via email to