Axis2 Exception: org.apache.axis2.AxisFault: Timeout waiting for connection Solution

来源:互联网 发布:淘宝隐藏券插件 编辑:程序博客网 时间:2024/05/29 14:29

Issue:

When you invoke a Web Service using Axis2 Client, you may often got following exception.

org.apache.axis2.AxisFault: Timeout waiting for connection
  at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
  at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:203)
  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:435)
  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.sendReceive(ServiceClient.java:540)
  at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:521)
  at Servlet.XMLServlet.processRequest(XMLServlet.java:102)
  at Servlet.XMLServlet.doGet(XMLServlet.java:131)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
  at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
  at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
  at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.commons.httpclient.ConnectionPoolTimeoutException: Timeout waiting for connection
  at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:497)
  at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)
  at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
  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:542)
  at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:199)
  ... 27 more

Solution:

Please invoke stub._getServiceClient().cleanupTransport() ;  after ServiceClient client = stub._getServiceClient();

原创粉丝点击