Axis2调用超时Read timed out的解决办法一则

简介:
Axis2调用超时Read timed out的解决办法一则
 

Axis2不是个省油的灯,用起来一直不爽,现在项目快结束了,用着玩意想吐!
 
我是用服务端+客户端存根来使用Axis2的,在存根调用了服务上一个比较耗时的操作时,超时挂了。

首先我就开始在应用服务器JBOSS上到处修改超时时间为600*1000毫秒(10分钟)。可测试时候还继续超时。
 
查看网上,有很多人也遇到我一样的问题,都是增大超时时间,可是在jboss上设置没用啊!
 
最终通过设置存根每个方法的超时时间来解决。虽然很低级,但这样问题却解决了。
 
异常时堆栈信息如下:
14:02:52,582 INFO    [STDOUT] 2009-05-04 14:02:52    - INFO    org.apache.axis2.transport.http.HTTPSender         - Unable to sendViaPost to url[http: //192.168.50.170:80/ccmweb/services/ccmws.ccmwsHttpSoap12Endpoint] 
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:235) 
  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:542) 
  at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:189) 
  at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) 
  at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:364) 
  at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:208) 
  at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448) 
  at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401) 
  at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) 
  at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) 
  at zzvcom.cms.ccm.wsclient.ccmws.CcmwsStub.genProgramPutInfoList(CcmwsStub.java:828) 
  at zzvcom.cms.ccm.wsclient.CcmWSClient.genProgramPutInfoList(CcmWSClient.java:286) 
  at zzvcom.cms.ccm.service.impl.ProgramServiceImpl.getWaitingProgramInfo(ProgramServiceImpl.java:1125) 
  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:585) 
  at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) 
  at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) 
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) 
  at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) 
  at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) 
  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) 
  at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) 
  at $Proxy66.getWaitingProgramInfo(Unknown Source) 
  at zzvcom.cms.ccm.action.ProgramAction.stockProgram(ProgramAction.java:2026) 
  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:585) 
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
  at zzvcom.cms.sys.authen.web.AuthFilterForCas.doFilter(AuthFilterForCas.java:128) 
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
  at edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:87) 
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
  at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:78) 
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
  at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
  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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) 
  at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) 
  at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) 
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) 
  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
  at java.lang.Thread.run(Thread.java:595) 
Caused by: 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:235) 
  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:542) 
  at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender. 


 

解决办法:
 
在存根业务调用代码中进行设置,添加:
_operationClient.getOptions().setTimeOutInMilliSeconds(600000L);
_operationClient表示一个客户端对象。
 
这个设置很不合理,但是没办法了,暂时先解决了问题再研究去。


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/155093,如需转载请自行联系原作者
相关文章
|
6月前
|
安全 文件存储 数据安全/隐私保护
告别密码焦虑!开源密码神器 password-XL:安全、美观、全能的私有密码管家
password-XL是一款开源、安全的私有密码管理工具,支持本地或服务器部署,数据自主可控。美观界面、多端同步、功能丰富,适合个人与团队使用,告别密码泄露风险,打造专属数字管家。
943 12
告别密码焦虑!开源密码神器 password-XL:安全、美观、全能的私有密码管家
|
28天前
|
人工智能 自然语言处理 测试技术
【阿里云官方】用 OpenClaw 提升日常办公自动化效率
阿里云官方推出的OpenClaw智能助理,基于通义千问大模型,提供零代码、开箱即用的AI工作流。覆盖超级助理、内容创作、股票分析、一人团队、开发助手、海外运营六大场景,助力开发者高效成长、降本增效。(239字)
|
5月前
|
人工智能 弹性计算 API
OpenClaw/Clawdbot限流终极解决方案:免费Nvidia API+阿里云百炼Coding Plan双模型部署即可
在OpenClaw(原Clawdbot/Moltbot)的使用过程中,限流是用户最头疼的问题之一——付费Coding Plan频繁触发调用上限,免费模型功能受限,严重影响AI Agent的连续运行。2026年,这个痛点终于有了完美解法:Nvidia推出的免费API支持多款主流开源模型,搭配阿里云百炼高性价比Coding Plan,形成“免费主力+稳定备用”的双模型架构,彻底告别限流困扰。
6013 3
|
监控 安全 Shell
无字母数字webshell的命令执行
无字母数字WebShell是一种利用PHP等语言灵活特性的攻击手段,攻击者通过字符转换和编码技术绕过安全机制,执行恶意命令。然而,通过合理的防御措施,如禁用危险函数、使用WAF等,可以有效减少这种攻击带来的风险。在实践中,系统管理员应结合多种手段,提高服务器的安全性。
349 18
|
存储 JSON 前端开发
JSON与现代Web开发:数据交互的最佳选择
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也便于机器解析和生成。它以文本格式存储数据,常用于Web应用中的数据传输,尤其是在客户端和服务器之间。
1358 1
|
人工智能 弹性计算 API
创意“孵化机”——基于通义万相加速绘画创作流程
阿里云在2023年推出了AI绘画平台**通义万相**,该平台能够根据文本描述生成图像,应用于艺术创作。近期,阿里云优化了通义万相的接入方式,提供API文档和一键部署服务,使得非技术人员也能轻松集成到Web应用中。为促进用户尝试,阿里云还推出了解决方案评测活动,参与者有机会获得奖品。通义万相通过ECS、OSS、VPC和DashScope等云服务支持,简化了技术架构,加速了绘画创作流程。此外,阿里云提供了优惠购买方案,新人享有特别折扣。该服务不仅适用于艺术家,还可应用于多个领域,提高内容生成效率。
71706 24
|
JavaScript 前端开发 Android开发
Flutter笔记:关于WebView插件的用法(下)
Flutter笔记:关于WebView插件的用法(下)
1388 5
|
分布式计算 DataWorks Oracle
MaxCompute产品使用合集之如何创建表
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
485 7
|
人工智能 运维 专有云
阿里云通过信通院多项评估,获评央国企上云服务商“全量领导者”
阿里云飞天企业版凭借“一云多算”能力拿下“可信云技术最佳实践”奖,并通过《面向一云多芯专有云技术能力要求》、《“云+应用”一体化运维能力要求》等多项评估。
824 2
|
Linux Windows
LabVIEW安装了哪些版本的LabVIEW运行引擎
LabVIEW安装了哪些版本的LabVIEW运行引擎
684 0