在调用webservices,如果采用默认超时时间,链接超时30秒,读超时60秒,可能会造成应用出现假死状态,这....对用户来说整个人都不好了吧~所以,有时候定义下超时的时间,还是很有必要的哈!!!
CXF RESTFul style 乱流哈~当然,本篇也是立于此调用方式来设置超时时间,具体内容如下,结合spirng+apache cxf,当采用proxy方式,即<jaxrs:client>,可使用apache-http-configuration 标签<http-conf:conduit> 来实现对全局 or 独立的方法设置超时
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd"> <!-- 默认conduit, 链接超时10秒,读超时30秒 --> <http-conf:conduit name="*.http-conduit"> <http-conf:client ConnectionTimeout="10000" ReceiveTimeout="30000" /> </http-conf:conduit> <!-- 针对单个Ws服务设置超时时间 --> <jaxrs:client id="flightInfoWService" address="http://10.92.2.80:9999" serviceClass="com.csair.external.cod.service.FlightInfoWService" inheritHeaders="true"> <jaxrs:headers> <entry key="authorization" value="COD_WSAMMS,AMMS"></entry> </jaxrs:headers> </jaxrs:client> <!--<http-conf:conduit name=".*/route/api/v1/td/fltinfo/core_kv/"> ConnectionTimeout 连接时间,ReceiveTimeout 接收数据传输时间 <http-conf:client ConnectionTimeout="1" ReceiveTimeout="1"/> </http-conf:conduit> --> </beans>
<http-conf:conduit> 属性说明,
- ConnectionTimeout(连接请求超时时间),默认30s-单位(毫秒)
- RecevieTimeout(数据传输超时时间),默认60s-单位(毫秒)
- name:指定哪个方法需要启用超时时间设置,如name="*.http-conduit",表示全局有效
转载至:http://blog.csdn.net/wxyfighting/article/details/9281411
相关推荐
通过这个项目,开发者不仅可以了解SpringBoot和CXF的基本概念,还能掌握两者如何协同工作,发布和调用Web服务。同时,对于SpringBoot应用的打包、部署和测试也有了一定的认识。这个例子是一个理想的实践项目,对于...
Java调用Exchange Web Services(EWS)是一种常见的技术实践,用于与Microsoft Exchange Server进行交互,进行邮件发送、日历管理、联系人同步等任务。EWS是Exchange Server提供的一组基于SOAP协议的Web服务接口,...
在调用Web Services时,可能会遇到网络错误、超时或服务器返回的错误状态。因此,必须正确处理这些异常,提供适当的用户反馈。 8. **安全性考虑**: 如果Web Services需要身份验证,可能需要添加用户名/密码认证...
在本文中,我们将深入探讨Web服务的远程调用以及Apache CXF框架的使用。 Web服务远程调用(Remote Procedure Call, RPC)是一种编程模型,它使得一个程序可以调用另一个位于不同网络位置的程序,就像调用本地函数...
3. "java 调用webservice的各种方法总结 - 比较详细且简单的.mht":这个文件应该汇总了多种Java调用Web服务的方法,比如使用JAX-WS、Apache CXF或Axis2等库,可能包括代码示例和优缺点分析。 4. "java调用...
CXF客户端提供了多种方式来调用Web服务,包括基于JAX-WS(Java API for XML Web Services)的SOAP客户端和基于JAX-RS(Java API for RESTful Web Services)的RESTful客户端。这两种客户端都允许开发者以编程方式与...
【CXF web服务器详解】 Apache CXF 是一个开源的 Java 框架,它用于构建和开发服务导向架构(SOA)中的Web服务。CXF允许开发者通过多种协议(如SOAP、RESTful HTTP、JMS等)来创建和消费Web服务。在本文档中,我们...
在标题和描述中提到的“cxf生成webservice客户端”是指利用CXF的工具从WSDL文件自动生成Java客户端代码,以便于调用Web服务。 生成Web服务客户端的步骤如下: 1. **获取WSDL文件**:Web服务通常会公开一个WSDL文件...
在IT领域,调用Web服务是将一个应用程序与另一个应用程序连接起来,共享数据或执行特定任务的关键技术。本篇将深入探讨如何调用Web服务,特别是基于代码实现的过程。 一、Web服务类型 Web服务主要分为SOAP(Simple ...
例如,可以设置超时、启用SSL、添加认证机制,或者使用异步调用来提高性能。 总结,Java调用WebService主要通过解析WSDL源码生成客户端代码,然后实例化服务代理并调用其方法实现通信。不同的工具库如Apache CXF、...
3. 调用服务方法:通过代理类的对象调用Web服务的方法,传入参数并获取返回值。 4. 处理结果:服务调用完成后,解析返回的SOAP响应,提取所需的数据。 四、示例代码 以下是一个简单的XFire Web服务调用代码示例: ...
`session-config` 部分设置了会话超时时间,即客户端无活动的会话将在60分钟后自动结束。 ```xml <!-- web.xml 配置 --> <description>Apache CXF Endpoint <display-name>cxf</display-name> <servlet-name>...
在Java中,调用Web Service最常用的是JAX-WS(Java API for XML Web Services)框架。JAX-WS提供了一种简单的方法来创建和消费Web服务,包括客户端和服务端的生成。在我们的例子中,我们将关注客户端的实现。 要...
下面是一个使用CXF调用SOAP服务的例子: ```java import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; public class CXFSoapClient { public void...
WebService的核心技术包括SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)和UDDI(Universal Description, Discovery, and Integration)。本篇文章将详细介绍如何通过客户端...
5. **Apache CXF调用示例** Apache CXF库提供了更方便的方式来处理SOAP调用。在示例代码中,`getSupportCity`方法的调用可以通过CXF客户端进行,如下: ```java // 调用服务方法 Object[] params = {"福建"}; ...
需要注意的是,实际应用中可能需要处理异常、配置认证信息以及调整请求超时等高级设置。此外,随着技术的发展,XFire 已经被 Apache CXF 所取代,虽然本文是关于 XFire 的,但现代的 Java 开发更倾向于使用 CXF 或...
- 修改生成的代码以适应实际需求,如添加错误处理逻辑、设置超时时间等。 #### 五、调用服务 1. **初始化客户端对象**: - 使用生成的客户端类初始化客户端对象。 - 设置必要的参数,如服务地址、方法参数等。 ...
这里将请求执行超时时间设置为600秒,即10分钟,而默认值是110秒。 2. 设置Web服务对象的`Timeout`属性,例如对于一个名为`WebServiceTest.Service1`的服务,我们可以这样设置: ```csharp WebServiceTest.Service1...