axis1.4 设置请求超时时间

apache axis 框架处理https请求时超时时间设置问题 背景:同事发现我们系统和一个外部公司http交互消耗时间比较长,偶尔会达到10分多钟,但是明明设置了20s超时的呀。 于是我找到代码过来分析: private String send(String param0, String requestXml) { CHANNEL_LOG.info("xxxx:" + requestXml); String response = 阅读详情

原文:http://yjy110.iteye.com/blog/2034942

项目里使用soap的webservice,由于webservice响应不及时导致一直等待,下面这篇文字介绍如何设置超时。


项目中使用axis1.4生成的webservice,访问公安网的接口,使用过程中某些业务和时间段调用接口会产生请求超时的情况,由于业务是顺序执行,无法通过线程等待一段时间的方式来处理请求超时,因此只能尝试从webservice自身入手。

 

先说解决方案:通过各种设置setTimeout来控制请求超时时间。

 

具体怎么设置,尝试过的有如下几种:

 

如果是使用stub方式调用webservice,有两种方式设定:

 

1:统一所有出口的超时时间设定:

 

这种方式在axis生成的四个客户端类中,对stub这个类下手,这个类就是stub方式调用的核心类,以前总认为它是自动生成能的,不能随便乱动,其实不然,关键是找到下手的地方。仔细阅读,你会在这个类里面找到webservice服务端对外暴露的方法,然后在在该方法里面找到生成call对象的地方,加入如下一行代码即可:

 

_call.setTimeOut(30000);   //单位是毫秒

 

如果你想更灵活的控制超时时间,不妨把控制时间设置到配置文件里。

 

 

2:单个方法的超时时间控制:

 

在你的业务类处理接口调用方法里面,在获得stub对象的下面,加入如下代码:

 

stub.setTimeOut(30000);   //单位是毫秒

 

这种方案控制到了具体的某个方法,更灵活。

 

解决方案来自于这里:

http://axis.apache.org/axis/faq.html#faq17

 

  

如果你是使用便捷模式调用,那更简单,直接一句话(标红代码):

 

String endpoint="http://ip/project/services/xxx?wsdl";

Service service =new service();

Call call=(Call) service.createCall();

call.setTargetEndpointAddress(endpoint);

call.setOperationName("methodname");

call.setTimeout(10000);  //单位是毫秒

String ret =(String)call.invoke(new Object[] {xmldoc});

 

这种方法简单便捷,对于测试webservice极为方便,但是缺少灵活性,工程一般不建议使用。

 

 

最重要的,所有的方案都是从客户端下手,因为服务端常常不是你所能控制的。

 

 

 

总结:

 

1:要保持英文阅读的能力,不然就算有解决方案都看不懂。

 

2:不要人云亦云:其实long long ago,在网上就查到过通过设置setTimeout参数来控制超时时间的观点,但是好多人都说这个参数设置无效,当时也没有深入,只是人云亦云的想当然,大多数人的悲哀,挣扎吧,少年。

 

3:经验是一个不断积累的过程,也只有经验积累到了一定程度,娴熟了,才会有庖丁解牛的勇气和行动。



Axis1.4开发webService中遇到的问题及解决方案 1. 工程中设置代理问题 需求中遇到 阅读详情

相关推荐

axis1.4生成客户端

axis1.4生成客户端 根据WSDL生成客户端和服务端

axis1.4 设置请求超时时间

  项目中使用axis1.4生成的webservice,访问公安网的接口,使用过程中某些业务和时间段调用接口会产生请求超时的情况,由于业务是顺序执行,无法通过线程等待一段时间的方式来处理请求超时,因此只能尝试从webservice自身入手。   先说解决方案:通过各种设置setTimeout来控制请求超时时间。   具体怎么设置,尝试过的有如下几种:   如果是使用stub方式调...

来一盘地三鲜的专栏 2714

爬取中国空气质量在线监测分析平台

1.准备,爬取的链接地址 https://www.aqistudy.cn/html/city_detail.html 2.分析 a.当打开链接后,数据已经设置好了,说明里面大部分都是js通过ajax调用的, b.打开f12分析代码 通过捕获到的数据包,发现当前请求为ajax,携带着一个为d的参数且该请求携带的数据是加密过的,并且响应也是加密过的 c.这时候的问题就是...

Mr Right 6370

(转)setTimeout延时0毫秒的作用

setTimeout延时0毫秒的作用 Posted on 2008-07-11 22:32xieex阅读(290)评论(4)编辑收藏网摘所属分类:HTML/JavaScript/CSS/... 经常看到setTimeout延时0ms的javascript代码,感到很迷惑,难道延时0ms和不延时不是一个道理吗?后来通过查资料以及实验得出以下两个作用,可能还有作用我...

weixin_30564901的博客 482

VSCode + ESP-IDF 项目搭建及配置

VSCode 搭建 ESP-IDF 开发环境

weixin_51358957的博客 2万+

基于matlab的主成分分析的人脸二维码识别系统

人脸识别因其在系统安全验证、信用验证、刑侦跟踪、身份管理、视频会议、人机交互、智能家居等方面的巨大应用前景,成为当前模式识别和人工智能领域越来越热门的一个研究方向。随着安全入口控制和二维码智能扫描应用需求的快速增长,基于二维码识别的生物人脸统计识别技术也引起了人们的重视。本案例将详细讲解基于主成分分析的人脸特征提取的原理与方法,并将其与 QR 二维码的编解码进行结合,将 MATLAB 作为工具平台,调用 QR 二维码编解码应用程序,进而实现一个人脸二维码自动识别的系统原型。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 976

apache axis 1.4的invoke方法设置超时_性能测试常见瓶颈分析及调优方法

来源:https://www.cnblogs.com/imyalost/p/10850811.html性能分析与调优如何下手,先从硬件开始,还是先从代码或数据库。从操作系统(CPU调度,内存管理,进程调度,磁盘I/O)、网络、协议(HTTP, TCP/IP ),还是从应用程序代码,数据库调优,中间件配置等方面入手。单一个中间件又分web中间件(apache 、IIS),应用中间件(tom...

weixin_32496175的博客 659

【华为OD机试真题】141、租车骑绿岛 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

题目描述 >部门组织绿岛骑行团建活动。租用公共双人自行车,每辆自行车最多坐两人,最大载重M。 给出部门每个人的体重,请问最多需要租用多少双人自行车。

KJ.JK 1959

axis1.4 设立请求超时时间——call.setTimeout();

axis1.4 设立请求超时时间 www.MyException.Cn  网友分享于:2014-03-23  浏览:59次 项目中使用axis1.4生成的webservice,访问公安网的接口,使用过程中某些业务和时间段调用接口会产生请求超时的情况,由于业务是顺序执行,无法通过线程等待一段时间的方式来处理请求超时,因此只能尝试从webservice自身入手。

evilcry2012的专栏 7071

OWASP-ZAP扫描器的使用

目录 OWASP-ZAP 更新 代理 目录扫描 主动扫描(Active Scan) 扫描结果 生成报告 OWASP-ZAP OWASP Zed攻击代理(ZAP)是世界上最受欢迎的免费安全审计工具之一,由数百名国际志愿者积极维护。它可以帮助你在开发和测试应用程序时自动查找Web应用程序中的安全漏洞。 也可以说ZAP是一个中间人代理。它能够获取你对Web应用程序发出的所有请求以...

谢公子的博客 2万+

传感器校准与标定:传感器的灵敏度校准_(11).常见传感器的灵敏度校准方法

线性校准:适用于传感器输出与输入之间存在线性关系的情况。通过收集数据并使用最小二乘法拟合线性方程,可以确定斜率和截距,从而实现校准。非线性校准:适用于传感器输出与输入之间存在非线性关系的情况。通过收集数据并使用非线性拟合方法(如最小二乘法),可以确定多项式或其他非线性方程的参数,从而实现校准。温度补偿校准:适用于传感器在不同温度下输出特性变化的情况。通过收集不同温度下的数据并使用温度补偿方程,可以提高传感器在不同温度下的测量精度。其他校准方法。

2401_87715305的博客 915

HttpClient方式调用WebService接口

参考 httpclient作为客户端调用webservice Character encodings in HTML

fxtxz2的专栏 5919

windows server 2012 AD 活动目录部署系列(十一)安装证书服务器(ADCS)

本篇博文介绍如何在AD域控上安装证书服务器,本实验域环境:yun.com。 步骤如下: 1、打开“服务器管理器”,点击“添加角色和功能”,如下图: 2、点击下一步, 3、点击下一步, 4、点击下一步, 5、点击“Active Directory证书服务”,弹出功能选择,点击"添加功能",如下图,

白昼的技术专栏 2万+

【webservice】Axis2 客户端调用 设置超时时间

转载自  http://www.cnblogs.com/dingmy/p/3712204.html Axis2 客户端调用 设置超时时间 我用的是axis2-1.6.2版本。请看下面的客户端代码: import org.apache.axis2.client.Options; import com.ctis.ta.service.impl.Ope

mikeguo's blog 6269

组态王与SqlServer数据库交互总结

组态王可以与SqlServer、mysql、acess、oracle等数据库进行数据交互。 本文重点梳理了如何把组态王中的数据保存到SqlServer数据库中,并使用ADO控件对数据库中的数据进行查询。 一、数据存到SQL数据库 1.新建记录体 2、创建表格模板(用于创建数据库中的表格) 3、打开sqlserver,新建数据库 4、创建ODBC数据源 选择自己新建的数据库 5.使用SQLConnect函数连接数据库,SQLCraetTable函数用于在数据库中创建表格 6.使用

逍遥子的博客 2万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Axis1客户端连接超时的设置方法!!!

axis1客户端连接超时设置!!!!

zuiaibenpao的博客 7440

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

axis1.4生成客户端代码

前几日遇到要连接别人的webservice的问题,几经曲折,终于搞定,

wymaweiyue的专栏 6487

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

axis1.4将默认的HTTP1.0短连接设置成HTTP1.1短连接

最近碰到一个头大的问题,当我们使用axis1.4生成的jar包的webservice客户端来调用远程服务的时候很纠结的发现一个问题。   场景设置 本地服务使用的是axis1.4的客户端,服务器端实现的是HTTP1.1。   需求设置 当前我们需要使用短连接来调用外部

未打烊的客栈 3874

使用axis1.4生成webservice的客户端代码

最近发现了一个很好用的工具,可以根据WSDL文件来生成webservice客户端代码,省去了我们自己手动开发webservice客户端的麻烦,简单好用,用法如下:1、下载axis1.4,解压; 2、在axis-1_4目录下新建wsdl2java-client.bat(.bat批处理文件,可任意命名)文件,增加内容如下:set Axis_Lib=.\lib set Java_Cmd=java -Dj

lmb55的专栏 1万+

java axisclient超时_Java开发网 - axis1.x 客户端读取超时

Posted by:sljsuperPosted on:2008-01-05 14:10设置超时如下:GetCustOrderInfoServiceSOAP11BindingStub server;server = (GetCustOrderInfoServiceSOAP11BindingStub) service.getGetCustOrderInfoServiceSOAP11p...

weixin_42516710的博客 638

apache axis 1.4中设置超时时间_Apache多进程处理模块(MPM)

就最新版本的Web服务器Apache(版本是Apache 2.4.10,发布于2014年7月21日)来说,一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式。它们分别是prefork,worker和event,它们同时也代表这Apache的演变和发展。查看我们Apache的模式,可以使用httpd -V命令来查看:# httpd -V Server ver...

weixin_28965731的博客 571

Apache Axis v1.1 命令行工具参考1

Axis 1.1主要提供了两个辅助开发的命令行工具,分别是WSDL2Java和Java2WSDL。下面对他们的参考文档逐一作详细说明,内容译自Axis Reference Guide和User Guide。WSDL2Java 参考用法:java org.apache.axis.wsdl.WSDL2Java [options] WSDL-file-URI 选项:       -h,

Open, Share, Improve -大国小民之程序人生 2623

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

Axis2调用超时Read timed out的解决办法一则 Axis2不是个省油的灯,用起来一直不爽,现在项目快结束了,用着玩意想吐! 我是用服务端+客户端存根来使用Axis2的,在存根调用了服务上一个比较耗时的操作时,超时挂了。 首先我就开始在应用服务器JBOSS上到处修改超时时间为600*1000毫秒(10分钟)。可测试时候还继续超...

weixin_34258838的博客 1007

对接请求方式

** 保司对接xml请求方式 ** import java.nio.charset.Charset; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.commons.lang.StringEscapeUtils; import org.apache.http.HttpEntity; import org.apache.http.client.config.Request

號先生的博客 412
上一篇: [iOS]UIAlertController各标签属性的改变
下一篇: ios上跳转app的方法,跳转到appstore等系统应用的方法
mmoooodd
博客等级 码龄18年 35粉丝 42原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值