Hi, Sagara, Thank you for your suggestion. But I really did set the "options.setTimeOutInMilliSeconds(soTimeout);" in my application. Before, i test two services in the same machine with the target URL with "localhost", then, i changed one of the Url with the real IP address, and the problem could be solved successfully. But now I have implemented six communication messages inside, the problem occurred again at the sixth step.
Have you got any idea why it happen again? Thank you. Regards, Yunxi > From: sagara.gunathu...@gmail.com > Date: Mon, 13 Jun 2011 22:10:48 +0530 > Subject: Re: Unable to sendViaPost to url > To: java-dev@axis.apache.org > > My understanding about the error trace is you haven't set sufficient > time out for clients (consumers) try to set enough value as follows. > > options.setTimeOutInMilliSeconds(soTimeout); > > Also Amila has mentioned some HTTP performance hints here [1] you > could try for that too. > > [1] - > http://amilachinthaka.blogspot.com/2009/05/improving-axis2-client-http-transport.html > > Thanks ! > > On Sat, Jun 11, 2011 at 1:11 AM, Yunxi Zhang <zhangyx...@hotmail.com> wrote: > > To Whom It May Concern, > > I'm using axis2 to create two web service points to let them transmit soap > > messages to each other. There are only four soap messages transmitting > > between two points shown as follows > > Message 1: Web Service 1-------------> Web Service 2 > > Message 2: Web Service 2------------->Web Service 1 > > Message 3: Web Service 1------------->Web Service 2 > > Message 4: Web Service 2------------->Web Service 1 (finish here) > > I have used the function "sendRobust" to send all the message. > > The problem is that the first three messages can be transmitted very > > quickly, but the 4th message can't be sent out with the errors shown below: > > [INFO] Unable to sendViaPost to > > url[http://localhost:8080/axis2/services/PortalA_RequestingForSharedResources] > > java.net.SocketTimeoutException: Read timed out > > at java.net.SocketInputStream.socketRead0(Native Method) > > at java.net.SocketInputStream.read(SocketInputStream.java:129) > > at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) > > at java.io.BufferedInputStream.read(BufferedInputStream.java:237) > > at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) > > at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) > > at > > org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116) > > at > > org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413) > > at > > org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973) > > at > > org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735) > > at > > org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098) > > at > > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) > > at > > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) > > at > > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) > > at > > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346) > > at > > org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:557) > > at > > org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:199) > > at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76) > > at > > org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400) > > at > > org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225) > > at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:438) > > at > > org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402) > > at > > org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) > > at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) > > at org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:470) > > at org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:451) > > at > > portalB.ReceivingRequestForSharedResources.decisionMaking(ReceivingRequestForSharedResources.java:173) > > at > > portalB.ReceivingRequestForSharedResources.receivingSOAPMessage(ReceivingRequestForSharedResources.java:141) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at > > org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver.invokeBusinessLogic(RawXMLINOnlyMessageReceiver.java:90) > > at > > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) > > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173) > > at > > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173) > > at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:144) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) > > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) > > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) > > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) > > at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:550) > > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > > at > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380) > > at > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) > > at > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) > > at > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166) > > at > > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288) > > at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > at java.util.concurrent.ThreadPoolExecut > > However, if I use the soapmonitor to create a monitor point for the message > > 4 between two web services, the 4th message can be sent out successfully. I > > have no idea why this problem can occur. Could you help me find out the > > problem? > > Best regards, > > Yunxi > > > > > > -- > Sagara Gunathunga > > Blog - http://ssagara.blogspot.com > Web - http://people.apache.org/~sagara/ > LinkedIn - http://www.linkedin.com/in/ssagara > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org > For additional commands, e-mail: java-dev-h...@axis.apache.org >