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

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

axis1.4 设立请求超时时间

www.MyException.Cn  网友分享于:2014-03-23  浏览:59次
项目中使用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. 工程中设置代理问题 需求中遇到 阅读详情

相关推荐

Canvas动画

1:Canvas动画原理 快速切换的静态画面。 2:基本步骤 绘制 - 清空 - 绘制 - 清空 - 绘制 … 3:控制函数 setTimeout setInterval requestAnimationFrame 4:四种运动 线性运动 const canvas = document.getElementById('canvas'); /* 获得 2d 上下文对象...

天空之外 4292

axis1.4 设置请求超时时间

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

来一盘地三鲜的专栏 2714

axis1.4生成客户端

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

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

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

weixin_30564901的博客 482

高光谱图像处理和分析软件(包含雷尼绍Renishaw wdf 文件导入解析功能)

是一款基于微软windows操作系统的多传感器成像工具,用于处理和分析高光谱图像。它是一个模块化的系统,由一个基本的引擎,一个图形用户界面,一个化学计量工具箱和可选的用户提供的模块组成。它支持最重要的光谱成像技术,如UV/Vis、红外、拉曼、太赫兹、光发射/吸收和质谱。除此之外,还允许用户将高光谱图像与物理属性图和传统高分辨率彩色照片合并在一起 链接:https://pan.baidu.com/s/1ruQ5YSh5_ZS9wx_V3Q5Oow 提取码:qdx0 ...

业余程序员小徐的博客 8073

手把手教你用Copilot插件在Obsidian里免费接入DeepSeek-R1(附硅基流动API密钥获取)

本文详细介绍了如何通过Copilot插件在Obsidian中免费接入DeepSeek-R1模型,实现智能知识管理。从硅基流动API密钥获取到插件配置,再到高级功能调优和实战应用技巧,手把手教你打造AI驱动的个人知识库。

weixin_33686714的博客 2799

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

Cibersort免疫浸润 --- 详细教程

免疫浸润是指免疫细胞如淋巴细胞、浆细胞、巨噬细胞等进入到组织或器官中,并在这些组织或器官中发挥免疫功能的过程。免疫细胞的浸润可以是炎症反应的一部分,也可以是针对感染、肿瘤或其他疾病的免疫应答的一部分。免疫浸润通过调节免疫反应和炎症反应的程度和类型,起到维护机体免疫平衡和清除异常细胞或病原体的作用。在某些情况下,免疫浸润可能导致炎症反应过度,引起组织损伤,例如自身免疫性疾病。因此,免疫浸润在许多疾病的诊断和治疗中都具有重要的意义。免疫浸润可以通过组织切片染色和免疫组织化学等方法观察和分析。

ZxVSaccount的博客 9109

Echarts图表显示不全?深度解析Grid、Axis、Legend配置与空间布局优化

在前端数据可视化开发中,图表组件的空间布局与自适应渲染是核心挑战。其原理在于,图表库需要在有限的DOM容器内,智能协调坐标轴、图例、网格区域等多个组件的空间分配。掌握这一原理的技术价值在于,能够构建出在各种屏幕尺寸和数据密度下都保持清晰、美观的图表,从而提升数据仪表盘、后台管理系统等应用的用户体验。具体到Echarts这一流行库,其强大的配置项系统为解决显示问题提供了精细化的控制手段。例如,通过合理设置grid组件的边界和containLabel属性,可以确保坐标轴标签不被裁剪;调整axisLabel的间隔

ithome 527

VNC Viewer建立多个图形界面,来远程访问同一个服务器(Ubuntu)

如题。目前已经有了一个VNC viewer连接,那么如果再开一个图形界面呢? 思路主要是:新建一个用户,从这个用户新建一个vnc连接,然后访问图形界面。

the Blog of 等不到天亮丶等时光 5901

STM32之W5500网络通信_w5500 profinet

*初始化8个socket*/setSHAR(ConfigMsg.mac);/*配置Mac地址*/setSUBR(ConfigMsg.sub);/*配置子网掩码*/setSIPR(ConfigMsg.lip);/*配置Ip地址*/setGAR(ConfigMsg.gw);/*配置默认网关*/setRTR(2000);/*设置溢出时间值*/setRCR(3);/*设置最大重新发送次数*/

2501_90250923的博客 1461

java webservice快速入门

服务端代码如下 public interface WeatherInterface { public String queryWeather( String cityName); } import javax.jws.WebService; @WebService //@WebService表示该类是一个服务类,需要发布其中的public的方法 public class WeatherInterfaceImpl implements WeatherInterface { @O

luo381821的博客 195

Cisco Firepower FMCv修改管理Ip方法

Cisco Firepower FMCv修改管理Ip方法

funnycoffee123的博客 1091

web

第一部分: 安装Axis 第一步: 下载Axis 从Apache网站下载Axis发布包: http://ws.apache.org/axis/ 我下载的是 Axis 1.4 Final 版 第二步: 解压Axis压缩包 把下载的axis-bin-1_4.zip包解压缩到一个文件夹,可以是任意的,但如果文件夹包含中文名时,在中间有些过程需要对中文进行一些处...

stefshawn的专栏 167

等保三级-MySQL 安全加固实战指南

本文详细介绍了MySQL数据库在等保三级要求下的安全加固实战指南,涵盖身份鉴别、访问控制、安全审计、网络传输安全、入侵防范和数据完整性等关键领域。通过具体配置示例和实战经验,帮助用户有效提升MySQL数据库的安全防护能力,满足等保三级合规要求。

weixin_29197835的博客 183

OpenCV实例(二)手势识别

手势识别的范围很广泛,在不同场景下,有不同类型的手势需要识别,例如:● 识别手势所表示的数值。● 识别手势在特定游戏中的含义,如“石头、剪刀、布”等。● 识别手势在游戏中表示的动作,如前进、跳跃、后退等。● 识别特定手势的含义,如表示“OK”的手势、表示胜利的手势等。理论基础凸包和凸缺陷在图像处理中具有非常重要的意义,被广泛地用于图像识别等领域。逼近多边形是轮廓的高度近似,但是有时候,我们希望使用一个多边形的凸包来简化它。凸包和逼近多边形很像,只不过凸包是物体最外层的凸多边形。

小幽余生不加糖 9410

泛微ecology9 HRM WebService组织架构与人员同步实战解析

在企业信息化建设中,主数据一致性是系统集成的核心挑战。组织架构与人员信息作为业务流转的基础,需要跨系统高效同步。WebService接口作为一种标准化的服务调用方式,能够在异构系统间实现数据互通,广泛应用于ERP、OA、HR等平台的集成场景。通过SOAP协议,开发者可以安全、可追踪地完成数据的新增、更新与查询。针对泛微ecology9平台,HRM WebService为组织、部门、人员等主数据提供了标准读写能力,开发者可基于Java实现增量同步,并通过Ajax封装接口优化前端交互。本文从数据同步原理出发,结

weixin_33831673的博客 303

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

逐行剖析 jQuery Flip 源码:Flip 模型类设计与 changeSettings 动态切换完整指南

jQuery Flip 是一款**轻量级 jQuery 插件**,只需几行代码就能为你的网页元素创建 3D 卡片翻转动画。整个插件源码只有约 300 行(见 [src/flip.js](https://link.gitcode.com/i/4f368eedbe69b091b0ba4aeb89fce511)),却完整实现了前后双面的 3D 翻转、点击/悬停触发、回调事件和**动态切换翻转轴**等能力

gitblog_00411的博客 794

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Vue 3 集成 vis-timeline 构建交互式时间轴与甘特图实战指南

时间轴与甘特图是数据可视化领域中的核心组件,广泛应用于项目管理、事件回溯与资源调度等场景。其原理在于将时间维度与事件或任务数据相结合,通过图形化方式直观展示时序关系与进度。vis-timeline 作为专精于此的 JavaScript 库,提供了强大的时间刻度处理、虚拟滚动与丰富交互 API 等技术价值,能显著提升开发效率。在 Vue 3 等现代前端框架中,如何实现响应式数据绑定、性能优化与高级定制是工程实践的关键。本文聚焦于 **Vue 3** 与 **vis-timeline** 的深度集成,详细解析从

weixin_33785108的博客 377

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

OpenMontage HyperFrames GSAP 适配器:在 seek 驱动的视频渲染模型中编写 GSAP 时间线的实战参考

本文基于 OpenMontage 仓库中的 HyperFrames 动画技能文档 [.agents/skills/hyperframes-animation/adapters/gsap.md](https://link.gitcode.com/i/cc4c9b124b5a4ab6a622f64401a4dabf),系统讲解 GSAP 在 HyperFrames「seek 驱动」渲染模型下的完整使用

gitblog_09377的博客 452

脑语言2500单字v1.5.1

如果人和 AI 说同一种语言,文明会怎样?我用 2500 个单字试了试。2500个单字是不同领域、不同知识的共同体,无论你学编程或者是数学或写作,你都要用汉字,而常用的2500个汉字几乎可以涵盖不同行业做的不同事情。

脑语言 2009

AI新闻聚合工具:提升技术信息获取效率的智能方案

在信息爆炸的时代,高效获取高质量技术内容成为开发者和研究者的刚需。AI新闻聚合工具通过智能算法重构了传统RSS阅读器的工作流程,其核心技术包括多维度内容评分、动态分类和结构化摘要生成。这类工具采用五层处理流水线,从并发抓取到趋势归纳,结合大语言模型(如Gemini或OpenAI)实现内容的质量过滤和价值提取。在实际应用中,不仅能提升300%的信息获取效率,还能通过智能翻译解决语言障碍问题。对于跟踪AI/ML、安全、工程等领域的从业者,这种工具能有效提升工作周报质量,并帮助发现关键的技术解决方案。特别是在LL

weixin_33924770的博客 341

java canvas 动画效果_Canvas动画

1:Canvas动画原理快速切换的静态画面。2:基本步骤绘制 - 清空 - 绘制 - 清空 - 绘制 ...3:控制函数setTimeoutsetIntervalrequestAnimationFrame4:四种运动线性运动const canvas = document.getElementById('canvas');/* 获得 2d 上下文对象 */const ctx = canvas.get...

weixin_31014835的博客 295

php echart折线图,使用laravel和ECharts实现折线图效果的例子

1、首先引入echart.js2、html页面,要有一个布局容器,用来显示图像,一定要设置宽和高3、echarts折线图的使用var myChart = echarts.init(document.getElementById("contain"));option = {title : {text: '时间变化图' // 标题},tooltip : {trigger: 'axis' // 折线图}...

weixin_29001423的博客 511
上一篇: spring常用的工具类
下一篇: 什么是stub? JAVA 存根
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值