Hi I used axis2 1.4.1 and changed to 1.5, but I still got time out. I changed just on the client side, server is still using 1.4.1
2009/9/17 Amila Suriarachchi <[email protected]> > What is the Axis2 version you use? try with Axis2 1.5. > > hope you have set the parameter correctly. > On the server or client side? The service.xml looks like this <service name="EchoService"> <messageReceivers> <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="no.uib.bccs.esysbio.echoservice.EchoServiceMessageReceiverInOut"/> </messageReceivers> <parameter name="messageReceiver.invokeOnSeparateThread">true</parameter> <parameter name="ServiceClass">no.uib.bccs.esysbio.echoservice.EchoServiceImpl</parameter> <parameter name="useOriginalwsdl">true</parameter> <parameter name="modifyUserWSDLPortAddress">true</parameter> <operation name="SayHi" mep="http://www.w3.org/ns/wsdl/in-out" namespace="http://www.bccs.uib.no/EchoService.wsdl"> <actionMapping>http://www.bccs.uib.no/EchoService.wsdl/SayHi </actionMapping> <outputActionMapping> http://www.bccs.uib.no/EchoService.wsdl/EchoServicePortType/SayHiResponse </outputActionMapping> </operation> </service> And in my message receiver I print out this Using async Parameter? : messageReceiver.invokeOnSeparateThread=true So to me the server side looks correct, any more tips on the client cheers, Håkon > > thanks, > Amila. > > 2009/9/17 Håkon Sagehaug <[email protected]> > > hi >> >> thanks for the tip. >> >> I've added the parameter to the service.xml file. For simulating a "long" >> running ws I 've got a simple echo service where I sleep the thread in 1 >> minute, like this >> >> try { >> Thread.sleep(60000); >> } catch (InterruptedException e) { >> e.printStackTrace(); >> } >> >> >> >> And my client looks like this >> >> >> EchoServiceStub stub; >> try { >> >> ConfigurationContext context = ConfigurationContextFactory >> .createConfigurationContextFromFileSystem("repository", >> null); >> >> stub = new EchoServiceStub(context, >> "http://localhost:8080/axis2/services/EchoService"); >> stub._getServiceClient().engageModule("addressing"); >> >> EchoServiceCallbackHandler callback = new >> EchoServiceCallbackHandler() { >> >> public void receiveResultSayHi(SayHiResponse resp) { >> System.out.print("in callback " + resp.getHiResponse()); >> System.exit(0); >> } >> >> public void receiveErrorSayHi(Exception e) { >> e.printStackTrace(); >> >> } >> }; >> >> >> SayHi hi = new SayHi(); >> hi.setHi("testu"); >> >> >> stub._getServiceClient().getOptions().setUseSeparateListener(true); >> >> stub.startSayHi(hi, callback); >> } catch (AxisFault e) { >> e.printStackTrace(); >> } catch (RemoteException e) { >> e.printStackTrace(); >> } >> } >> >> But even when I use separate transport listeners I get >> >> org.apache.axis2.AxisFault: Read timed out >> at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) >> at >> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193) >> at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) >> at >> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:371) >> at >> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:209) >> at >> org.apache.axis2.engine.AxisEngine$TransportNonBlockingInvocationWorker.run(AxisEngine.java:630) >> at >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) >> at >> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) >> at java.lang.Thread.run(Thread.java:619) >> >> on the client side. >> >> Any more configuration needed on either sides? >> >> cheers, Håkon >> >> >> 2009/9/17 Amila Suriarachchi <[email protected]> >> >> >>> >>> 2009/9/16 Håkon Sagehaug <[email protected]> >>> >>>> Hi >>>> >>>> >>>> I wanted to try out to make a web service async, does anyone know of a >>>> cookbook how to do that? I found this link[1] explaning how I want my >>>> service to work. is it the AsyncMessageReceiver from the integration >>>> module >>>> in axis2 svn I should use? Basically I need som help and guide how to >>>> enable >>>> async behavior on the server side, I know how to do it on the client side, >>>> for getting a non-blocking using two transport channels. >>>> >>>> any tips or hint on this topic? >>>> >>> >>> you need to set this parameter messageReceiver.invokeOnSeparateThread to >>> true in your service. >>> >>> ie. <parameter >>> name="messageReceiver.invokeOnSeparateThread">true</parameter> >>> >>> if the request contains a replyTo header service invocation happens in a >>> separate thread. >>> >>> thanks, >>> Amila. >>> >>> >>> >>>> cheers, Håkon >>>> >>>> >>>> [1] http://www.ibm.com/developerworks/webservices/library/ws-axis2/ >>>> >>>> -- >>>> Håkon Sagehaug, Scientific Programmer >>>> Parallab, Bergen Center for Computational Science (BCCS) >>>> UNIFOB AS (University of Bergen Research Company) >>>> >>> >>> >>> >>> -- >>> Amila Suriarachchi >>> WSO2 Inc. >>> blog: http://amilachinthaka.blogspot.com/ >>> >> >> >> >> -- >> Håkon Sagehaug, Scientific Programmer >> Parallab, Bergen Center for Computational Science (BCCS) >> UNIFOB AS (University of Bergen Research Company) >> > > > > -- > Amila Suriarachchi > WSO2 Inc. > blog: http://amilachinthaka.blogspot.com/ > -- Håkon Sagehaug, Scientific Programmer Parallab, Bergen Center for Computational Science (BCCS) UNIFOB AS (University of Bergen Research Company)
