问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

axis设置时间范围为0-2秒

发布网友 发布时间:2023-03-22 20:31

我来回答

1个回答

热心网友 时间:2023-05-14 08:40

来一盘地三鲜
关注
axis1.4 设置请求超时时间 原创
2014-03-23 11:03:55

来一盘地三鲜

码龄15年

关注

项目中使用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:经验是一个不断积累的过程,也只有经验积累到了一定程度,娴熟了,才会有庖丁解牛的勇气和行动。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 setTimeout延迟0毫秒的作用和相关问题 下面图片中的代码怎么实现时间加0 js settimeout 0 有什么作用 setTimeout延时0秒 关于时间设置为0的定时器 五行属金儒雅大气的于姓女孩名字有哪些? 梦见老婆和别人跑 梦见妻子和别人跑了的预兆 永靖河南街在哪里 永靖县明清古墓在哪里 家常蒸螃蟹蘸料怎么调 窃读记如何用一句话概括全文 “当你”这首歌什么年代唱的 什么是概念车?什么是概念手机? 概念车是什么意思啊? 概念车指的是什么车? 合肥市儿童医疗保险办理流程 梦见鲜血淋淋的皮肉的预兆 梦见前夫受伤的预兆 江苏省苏州市常熟市常福街道常隆村还是不是高风险区疫情风险等级 昨夜梦见一条大蛇,打死了还会咬人 人保寿同业加盟要征信报告吗 和雨虹公司签订加盟合同查征信吗 网易云电台仅自己可见别人还能收听吗 瓷碗上的酱油渍怎样去除 梦见我阎王的预兆 梦见阎罗王的预兆 梦见我家孟婆的预兆 梦见阎王和我说话的预兆 梦见阎王殿阎王不让我走的预兆 孟婆叫阎王叫什么 梦见穿着寒酸的衣服是什么预兆? 目的解释是什么意思 创业板st条件 丫可以组成语。快快快……! 丫中间的成语? 梦见老虎咬别人旁边还有一条狗 请问网上的约拍的意思是什么 请问约拍,互免是指什么? 梦见自己在雨天找不到朋友家了