Hi, I am still pretty confused by the whole async services with axis 2. I bought deepaks book purely for this but it really doesn't go into any detail and looks to be pretty much the same as the axis documentation. I have created a very basic service which echoes a string, it's just a single method in a pojo and I have deployed this service successfully.
I have used wsdl2java to create me some client side code and I have included the option to create the async bits as well. Now trying to follow the documentation I cannot go any further because I don't get any of the methods the documentation describes, why is this? What I get is a call back interface and I have implemented the call back successfully but how exactly am I supposed to implement a polling client? On my stub client I only have 2 methods available to me: SayHelloResponse sayHello(SayHello sayHello12 ) - this looks like the standard rpc call and the response object does not have an isDone() method to poll; Void startSayHello(SayHello sayHello12 ) - this is the callback method which I managed to get working (see code below but don't see how to implement the polling mechanism or how to set the mep async property for). My second problem is that I would like to make the service truly asynchronous by setting property "org.apache.axis2.jaxws.use.async.mep" to true but I don't see how it's possible to do this using the objects provided by wsdl2java. I have included my code below in the hope that I get some feedback but I am beginning to think that I need look for a web services engine which is a little more user friendly than axis2 because I don't seem to be getting anywhere with it. Simple web service: public class HelloWorld { public String sayHello(String name){ return "Hello " + name; } } Simple client (How do I set the async mep property and how do I implement a polling client using the generated classes): public class HelloWorldClient { public static void main(String[] args) { try { String s = new String("Obj"); HelloWorldStub stub = new HelloWorldStub(); HelloWorldCallbackHandlerImpl cb = new HelloWorldCallbackHandlerImpl(s); SayHello sayHello = new SayHello(); sayHello.setName("Paul Ockleford"); //************** HOW DO I IMPLEMENT THIS GIVEN THE CLASSES GENERATED BY WSDL2JAVA ********** Map<String, Object> rc = ((BindingProvider) ????).getRequestContext(); rc.put("org.apache.axis2.jaxws.use.async.mep", Boolean.TRUE); stub.startsayHello(sayHello, cb); synchronized (cb) { while (!cb.m_done) { try { cb.wait(100); } catch (Exception e) {} } } if (cb.m_response != null) { String reply = cb.m_response.get_return(); System.out.println("received reply: " + reply); } } catch (Exception e) { e.printStackTrace(); } } } Can anybody help me out with some small code snippets to show how to set the mep async propery with my code above and also how I would go about implementing the polling mechanism for the code above? Thanks, Paul ******************************************************************************************************************** This message may contain confidential information. If you are not the intended recipient please inform the sender that you have received the message in error before deleting it. Please do not disclose, copy or distribute information in this e-mail or take any action in reliance on its contents: to do so is strictly prohibited and may be unlawful. Thank you for your co-operation. NHSmail is the secure email and directory service available for all NHS staff in England and Scotland NHSmail is approved for exchanging patient data and other sensitive information with NHSmail and GSi recipients NHSmail provides an email address for your career in the NHS and can be accessed anywhere ********************************************************************************************************************