Re: Creating a async web sercice
Hi By the way, do you know why it did not work with 1.4.1, it this a known limitation? cheers, Håkon 2009/9/17 Håkon Sagehaug hakon.sageh...@bccs.uib.no Hi I changed to axis2 1.5 also on the server and then all seems to work. Thanks for the help cheers, Håkon 2009/9/17 Håkon Sagehaug hakon.sageh...@bccs.uib.no Hi I also get this error message SEVERE: The Callback for MessageID urn:uuid:E75DBDF30A77DAB1011253193935432 was not found org.apache.axis2.AxisFault: The Callback for MessageID urn:uuid:E75DBDF30A77DAB1011253193935432 was not found cheers, Håkon 2009/9/17 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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 amilasuriarach...@gmail.com 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.invokeOnSeparateThreadtrue/parameter parameter name=ServiceClassno.uib.bccs.esysbio.echoservice.EchoServiceImpl/parameter parameter name=useOriginalwsdltrue/parameter parameter name=modifyUserWSDLPortAddresstrue/parameter operation name=SayHi mep=http://www.w3.org/ns/wsdl/in-out; namespace=http://www.bccs.uib.no/EchoService.wsdl; actionMappinghttp://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 hakon.sageh...@bccs.uib.no 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(6); } 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 amilasuriarach...@gmail.com 2009/9/16 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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
Re: Creating a async web sercice
2009/9/18 Håkon Sagehaug hakon.sageh...@bccs.uib.no Hi By the way, do you know why it did not work with 1.4.1, it this a known limitation? this parameter check added after axis2 1.4.1 :) thanks, Amila. cheers, Håkon 2009/9/17 Håkon Sagehaug hakon.sageh...@bccs.uib.no Hi I changed to axis2 1.5 also on the server and then all seems to work. Thanks for the help cheers, Håkon 2009/9/17 Håkon Sagehaug hakon.sageh...@bccs.uib.no Hi I also get this error message SEVERE: The Callback for MessageID urn:uuid:E75DBDF30A77DAB1011253193935432 was not found org.apache.axis2.AxisFault: The Callback for MessageID urn:uuid:E75DBDF30A77DAB1011253193935432 was not found cheers, Håkon 2009/9/17 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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 amilasuriarach...@gmail.com 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.invokeOnSeparateThreadtrue/parameter parameter name=ServiceClassno.uib.bccs.esysbio.echoservice.EchoServiceImpl/parameter parameter name=useOriginalwsdltrue/parameter parameter name=modifyUserWSDLPortAddresstrue/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 hakon.sageh...@bccs.uib.no 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(6); } 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 amilasuriarach...@gmail.com 2009/9/16 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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
Re: Creating a async web sercice
2009/9/16 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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.invokeOnSeparateThreadtrue/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/
Re: Creating a async web sercice
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(6); } 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 amilasuriarach...@gmail.com 2009/9/16 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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.invokeOnSeparateThreadtrue/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)
Re: Creating a async web sercice
What is the Axis2 version you use? try with Axis2 1.5. hope you have set the parameter correctly. thanks, Amila. 2009/9/17 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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(6); } 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 amilasuriarach...@gmail.com 2009/9/16 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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.invokeOnSeparateThreadtrue/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/
Re: Creating a async web sercice
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 amilasuriarach...@gmail.com 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.invokeOnSeparateThreadtrue/parameter parameter name=ServiceClassno.uib.bccs.esysbio.echoservice.EchoServiceImpl/parameter parameter name=useOriginalwsdltrue/parameter parameter name=modifyUserWSDLPortAddresstrue/parameter operation name=SayHi mep=http://www.w3.org/ns/wsdl/in-out; namespace=http://www.bccs.uib.no/EchoService.wsdl; actionMappinghttp://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 hakon.sageh...@bccs.uib.no 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(6); } 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 amilasuriarach...@gmail.com 2009/9/16 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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.invokeOnSeparateThreadtrue/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
Re: Creating a async web sercice
Hi I also get this error message SEVERE: The Callback for MessageID urn:uuid:E75DBDF30A77DAB1011253193935432 was not found org.apache.axis2.AxisFault: The Callback for MessageID urn:uuid:E75DBDF30A77DAB1011253193935432 was not found cheers, Håkon 2009/9/17 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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 amilasuriarach...@gmail.com 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.invokeOnSeparateThreadtrue/parameter parameter name=ServiceClassno.uib.bccs.esysbio.echoservice.EchoServiceImpl/parameter parameter name=useOriginalwsdltrue/parameter parameter name=modifyUserWSDLPortAddresstrue/parameter operation name=SayHi mep=http://www.w3.org/ns/wsdl/in-out; namespace=http://www.bccs.uib.no/EchoService.wsdl; actionMappinghttp://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 hakon.sageh...@bccs.uib.no 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(6); } 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 amilasuriarach...@gmail.com 2009/9/16 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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
Re: Creating a async web sercice
Hi I changed to axis2 1.5 also on the server and then all seems to work. Thanks for the help cheers, Håkon 2009/9/17 Håkon Sagehaug hakon.sageh...@bccs.uib.no Hi I also get this error message SEVERE: The Callback for MessageID urn:uuid:E75DBDF30A77DAB1011253193935432 was not found org.apache.axis2.AxisFault: The Callback for MessageID urn:uuid:E75DBDF30A77DAB1011253193935432 was not found cheers, Håkon 2009/9/17 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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 amilasuriarach...@gmail.com 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.invokeOnSeparateThreadtrue/parameter parameter name=ServiceClassno.uib.bccs.esysbio.echoservice.EchoServiceImpl/parameter parameter name=useOriginalwsdltrue/parameter parameter name=modifyUserWSDLPortAddresstrue/parameter operation name=SayHi mep=http://www.w3.org/ns/wsdl/in-out; namespace=http://www.bccs.uib.no/EchoService.wsdl; actionMappinghttp://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 hakon.sageh...@bccs.uib.no 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(6); } 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 amilasuriarach...@gmail.com 2009/9/16 Håkon Sagehaug hakon.sageh...@bccs.uib.no 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