多次使用axis2调用webservice后,报连接超时错误
来源:互联网 发布:伦敦奥运会易建联数据 编辑:程序博客网 时间:2024/06/10 12:41
使用Axis2d的RPCServiceClient调用webservice,连续调用几次web服务后,后台报错,如下所示:
- 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)
- 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 com.res.rc.client.RPCClient.callService(RPCClient.java:282)
- at com.res.rc.handlers.service.ServiceListHandler.doWebServiceAndReturn(ServiceListHandler.java:337)
- at com.res.rc.handlers.service.ServiceListHandler.process(ServiceListHandler.java:126)
- at com.res.framework.handler.OnlineHandler.handleRequest(Unknown Source)
- at com.res.framework.servlet.GenericFrameworkServlet.doService(Unknown Source)
- at com.res.framework.servlet.GenericFrameworkServlet.doPost(Unknown Source)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at com.res.portal.init.SetCharacterEncodingFilter.doFilter(Unknown Source)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
- at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
- at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
- at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
- at java.lang.Thread.run(Thread.java:619)
- 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 com.res.rc.client.RPCClient.callService(RPCClient.java:282)
- at com.res.rc.handlers.service.ServiceListHandler.doWebServiceAndReturn(ServiceListHandler.java:337)
- at com.res.rc.handlers.service.ServiceListHandler.process(ServiceListHandler.java:126)
- at com.res.framework.handler.OnlineHandler.handleRequest(Unknown Source)
- at com.res.framework.servlet.GenericFrameworkServlet.doService(Unknown Source)
- at com.res.framework.servlet.GenericFrameworkServlet.doPost(Unknown Source)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at com.res.portal.init.SetCharacterEncodingFilter.doFilter(Unknown Source)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
- at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
- at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
- at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
- at java.lang.Thread.run(Thread.java:619)
解决办法:
- try
- {
- serviceClient = new RPCServiceClient ();
- Options options = serviceClient.getOptions();
- // 指定调用WebService的URL
- EndpointReference targetEPR = new EndpointReference(wsURL);
- options.setTo(targetEPR);
- options.setManageSession(true);
- options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT,true);
- //指定某调用方法的参数值
- Object[] opAddEntryArgs = inParams;
- Class[] classes = outParamClass;
- // 指定要调用的getGreeting方法及WSDL文件的命名空间
- QName opAddEntry = new QName(nameSpace, methodName);
- Object[] result=serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes);
- serviceClient.cleanupTransport();
- }
- catch (AxisFault e)
- {
- e.printStackTrace();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
上述代码中的
- options.setManageSession(true);
- options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT,true);
- serviceClient.cleanupTransport();
可以解决多次调用webservice后的连接超时异常
该错误参照apache官网:
https://issues.apache.org/jira/browse/AXIS2-4797
原文网址:http://blog.csdn.net/liufeng520/article/details/8464211
0 0
- 多次使用axis2调用webservice后,报连接超时错误
- 多次使用axis2调用webservice后,报连接超时错误
- 多次使用axis2调用webservice后,报连接超时错误
- 多次使用axis2调用webservice后,报连接超时错误
- 【webservice】Axis2 客户端调用 设置超时时间
- 使用CXF、Axis2调用WebService
- Axis2 WebService 客户端访问超时,尝试连接3次
- 安装完Redis服务后,远程连接报连接超时错误
- 使用axis和axis2调用webservice
- java使用axis2调用webservice接口实例
- java使用axis2调用webservice接口实例
- axis2 webservice 生成服务端。报java_home环境错误
- Axis、Axis2调用webservice
- axis2 调用webservice
- webService 客户端调用 axis2
- 调用webservice,axis2
- Axis2调用webservice Client
- axis2调用c#WebService
- .net平台下C#socket通信(上)
- WordPress 表结构
- 数据库中 表字段数据类型-定长数据类型
- 编程命名规范
- 作业20170418
- 多次使用axis2调用webservice后,报连接超时错误
- Mybatis Logback配置
- Tomcat 绑定https证书
- MIPI video mode 和 command mode 的区别
- linux+笔记:linux下判断一个文件或者目录是否存在
- mysql zip安装
- QT5.4配置64位编译环境
- Spring+Mybatis+SpringMVC+Maven+MySql搭建实例
- Java servlet出现错误问题01