Hi

I tried to invoke implementation of Provider web service asynchronously
using invokeAsync methods of Dispatch but booth asynchronous methods blocks
until response is received. i.e. invokeAsync work same as invoke method. 

Any help?


This is client code




Service service = Service.create(wsdlLocation, serviceName);
                        
Dispatch dispatch = service.createDispatch(portName, DOMSource.class,
Service.Mode.PAYLOAD);
                        
Document doc = buildHelloRequest();

System.out.println("Request sent to WS");                       
Response response = dispatch.invokeAsync(new DOMSource(doc));
System.out.println("Going to wait for response...");
                        
while(!response.isDone()) {
        System.out.println("Response not received yet, go to sleep 1000ms");
        Thread.sleep(1000);      
}

System.out.println("Response received"); 
                        
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(System.out);
transformer.transform(response.get(), result);


        

This is server code




@WebServiceProvider(portName = "HelloMessagePort", 
                                        serviceName = "HelloMessageService",
                                        
targetNamespace="http://mycompany.com/ws/async/message";)
@ServiceMode(value = Service.Mode.PAYLOAD)
public class HelloMessageProvider implements Provider {

        public DOMSource invoke(DOMSource request) {
                DOMSource response = null;
                try {
                
                        Thread.sleep(3000);
                
                Document doc = buildHelloResponse(request);
                transformer.transform(new DOMSource(doc), result);
                
                response = new DOMSource(doc);
                
                } catch (Exception e) {
                        e.printStackTrace();
                }
                  
                return response;
        }
}


-- 
View this message in context: 
http://www.nabble.com/Asynchronous-methods-of-Dispatcher-don%E2%80%99t-working-tp21664592p21664592.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to