多次使用axis2调用webservice后,报连接超时错误
使用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
多次使用axis2调用webservice后,报连接超时错误相关推荐
- java使用axis2调用webservice接口实例
说明:我目前的项目环境是struts2+spring+mybatis+oracle,以下代码是java使用axis2调用webservice接口实例. import javax.xml.namespa ...
- ORCAL数据库远程连接是报:12170连接超时错误解决办法
ORCAL数据库远程连接是报:12170连接超时错误解决办法 问题: 今天在进行数据库连接时发现报了12170错误,通过查找资料原来是服务器防火墙的问题 解决方法: 因为我是把数据库部署到虚拟机上的, ...
- Axis2调用webservice报错 AxisFault: Timeout waiting for connection
记录一次正式环境服务报错排查记录. 某日被通知线上服务告警,错误日志全是 Timeout waiting for connection 首先梳理项目架构,项目很简单,就是一个使用axis2构建的web ...
- Axis2调用WebService服务的3种方式(rpc调用不好用)
第一,RPC方式,不生成客户端代码,引入相应的axis2的jar包(不好用) 注意:暂时没有成功调用,没有参数传递时远程调用成功,当有参数传递时远程调用失败: package com.ming.axi ...
- C#调用WebService出现“基础连接已经关闭:接收时发生错误”错误
问题描述:C#通过调用WebService,实现ORACLE 数据库的远程备份,当备份数据量到达180G以上时,出现"基础连接已经关闭:接收时发生错误"错误,导致数据备份失败. 注 ...
- 【AXIS2 调用WebService报错】The given SCOPAction ..... does not math an operation
场景: 与第三方使用webserver进行数据对接,本地使用axis2生成的客户端程序调用远程服务 问题描述 说明:axis2 版本 1.7.9 调用报错: The given SCOPAction ...
- axis2 调用webservice
maven配置:主要引用包及plugins <properties><axis2.version>1.6.1</axis2.version></propert ...
- java axis2 调用webservice 接口_Axis2 调用Webservice 接口 | 学步园
调用方法: TranslatorString 输入中文,翻译成 拼音.英文. 参数:wordKey(中文) 现在要做,翻译词:[随便],代码如下: package cn.com.webxml; im ...
- Flex调用WebService后的数据处理
如果WebService返回的数据为DataTable或List<>类型,可以在每次读取数据的时候加入断点,然后观察最终生成数据的结构,断点最好加在ResultEvent事件内,因为这个时 ...
最新文章
- BZOJ-3122-随机数生成器-SDOI2013-BSGS
- boost::search相关的测试程序
- java outlook 发送邮件_基于java使用JavaMail发送邮件
- mysql active_GitHub - vipshop/drc: MySQL active-active replication solution.
- mac下ssh报错:ssh_exchange_identification: read: Connection reset by peer
- IE6/7 单选按钮 radio 无法选中解决方法
- Sublime Text3的Package Control安装教程,及报错解决There Are No Packages Available For Installation...
- 在.net中使用sqlite
- typedef使用方法
- matlab中点画线法代码,点划线规范画法,求中点画线算法的c++代码...
- 设置/etc/fstab实现自动挂载
- 数组合并对象里相同属性值
- 【渝粤题库】国家开放大学2021春3895管理英语1题目
- linux--Xshell的使用
- 小谈网易云音乐----API
- SQL由出生日期求年龄
- 10-3 设置坐标轴样式
- 前端(react)上传到阿里云OSS存储 实例
- Multi-organ auto-delineation in head-and-neck MRI for radiation therapy using regional convolutional
- Mac的Finder访达中如何显示~系统根目录