主要在客户端调用时设置 :
在使用WebService的时候,我们可能需要一个备份的WebService服务器.一旦主服务器down了,我们可以使用备份的服务器.那么这里就需要对客服端连接服务器的时间做一个修改.
在Spring+CXF的WebService环境下,客户端有两个时间属性是可配置的,分别是ConnectionTimeout和ReceiveTimeout.
ConnectionTimeout--WebService以TCP连接为基础,这个属性可以理解为tcp的握手时的时间设置,超过设置的时间长则认为是连接超时.以毫秒为单位,默认是30000毫秒,即30秒.
ReceiveTimeout -- 这个属性是发送WebService的请求后等待响应的时间,超过设置的时长就认为是响应超时.以毫秒为单位,默认是60000毫秒,即60秒.
beans.xml 设置的例子:
<?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:jee="http://www.springframework.org/schema/jee"
xmlns:jaxws="http://cxf.apache.org/jaxws"
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-2.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd ">
<http-conf:conduit name="{http://impl.service.product.super.com/}ProjectService.http-conduit">
<http-conf:client ConnectionTimeout="10000" ReceiveTimeout="20000"/>
</http-conf:conduit>
</beans>
这里需要注意的有几个地方:
1:需要指定http-conf名称空间 xmlns:http-conf=http://cxf.apache.org/transports/http/configuration
2:指定模式位置: http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
3:http-conf:conduit中的name属性,指定设置生效的服务,如例子中,只对服务名为{http://impl.service.product.sww.com/}ProjectService的服务生效.
使用下面的设置则会对所有服务生效
<http-conf:conduit name="*.http-conduit">
<http-conf:client……>
</http-conf:conduit>
更详细的配置请参考CXF官方文档:
http://cwiki.apache.org/CXF20DOC/client-http-transport-including-ssl-support.html
`2.代码编写:
private static void recieveTimeOutWrapper(Object o)
{
Conduit conduit = (ClientProxy.getClient(o).getConduit());
HTTPConduit hc = (HTTPConduit)conduit;
HTTPClientPolicy client = new HTTPClientPolicy();
client.setReceiveTimeout(1000 * 60 * 5); // 5分钟超时时间。 该时间为响应超时。
// client.setConnectionTimeout(1000 * 45); // 45秒的连接超时。
hc.setClient(client);
}
recieveTimeOutWrapper(o) 包装每一个服务
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pengchua/archive/2009/12/26/5081178.aspx
分享到:
相关推荐
7. **配置和优化**:CXF支持多种配置,例如设置超时、安全认证、日志等,这可以通过Spring配置文件或编程式方式进行。 在"DynamicClientDemo"项目中,你可以看到如何将这些步骤整合到实际应用中,包括如何初始化...
SpringBoot简化了Spring应用程序的初始设置和配置,通过自动配置和“起步依赖”(Starter POMs)使开发者可以快速启动项目。它内嵌了Tomcat或Jetty服务器,使得部署无需额外的容器。 2. **Apache CXF简介** ...
Spring框架是Java企业级应用开发的首选,而CXF是一个强大的开源服务框架,支持创建和消费Web服务。本教程将深入探讨如何利用Spring和CXF来实现基于HTTP和HTTPS的Web服务,并且将涉及到HTTPS的证书配置。 1. **...
- **客户端代理**:CXF自动生成客户端代码,方便调用服务。 **2. 创建Web服务端** 在CXF中,服务端的开发通常涉及以下步骤: 1. 定义服务接口:使用Java接口定义服务方法。 2. 实现服务接口:编写具体的业务逻辑...
服务端的实现类可以被Spring管理,利用注解如`@WebService`和`@Endpoint`进行标记。同时,配置HTTPS需要在CXF的Servlet配置中启用SSL,指定密钥库路径和密码。 客户端开发相对简单,它通过CXF的WSClientAPI动态生成...
本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 首先,让我们理解这两个组件的基本概念。Apache CXF是一个全面的服务框架,它支持多种Web服务规范,如SOAP、RESTful、WS-*等。它提供了...
生成客户端代码后,你可以在Spring Boot客户端应用中引入这些生成的类,并使用它们来调用服务: ```java import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; public class Client { public static void main...
cxf开发webservice客户端和服务器端 cxf(Apache CXF)是一款开源的WebService框架,用于开发webservice客户端和服务器端。它提供了许多有用的功能,如自动生成服务桩、客户调用桩和WSDL文档等,使得开发webservice...
本文将深入探讨如何使用Spring和CXF来发布WebService服务。 首先,Spring是一个开源的Java平台,它提供了全面的编程和配置模型,用于简化企业级应用的开发。Spring框架的核心特性包括依赖注入、面向切面编程(AOP)...
本文档将详细介绍如何使用 Apache CXF 2.2.6 和 Spring WS 1.5.8 构建一个简单的 WebService 客户端。通过本教程,您将能够掌握从创建工程到实际调用 Web 服务的一系列步骤。 #### 二、开发环境搭建 1. **Apache ...
2. 配置Spring:在Spring配置文件中,配置客户端的代理对象,设置服务的URL和其他相关参数。 3. 调用服务:在Java代码中,通过Spring注入的客户端代理对象调用服务方法,执行业务逻辑。 五、集成步骤 1. 添加依赖:...
【Spring-CXF WebService】是基于Spring框架和Apache CXF实现的一个Web服务示例,它展示了如何在Spring环境中集成CXF来创建、部署和消费Web服务。Spring-CXF结合了Spring的强大功能和CXF的优秀Web服务支持,使得开发...
本知识点将深入探讨如何在Spring框架中整合CXF,以创建一个有效的Webservice客户端。 1. **什么是Web Service**: Web Service是一种基于XML的开放标准,它允许应用程序通过网络共享业务逻辑,不受平台限制。SOAP...
CXF框架是Apache组织开发的一款开源的Web服务框架,它支持SOAP、RESTful...在实际项目中,将这些JAR包放入项目的`lib`目录下,确保了所有必要的依赖都被正确加载,从而能够顺利地使用CXF框架进行Web服务的客户端调用。
2. **CXF WebService客户端创建** 创建CXF客户端通常包括以下步骤: - 首先,获取Web服务的WSDL(Web Service Definition Language)文件,它是描述Web服务接口的标准XML文档。 - 使用CXF的Wsdl2Java工具,...
CXF WebService整合Spring代码(包含服务,客户端两个工程 和 文档) 需要视频的话,留邮箱
基于spring+cxf实现用户文件传输的webservice 在本文中,我们将探讨如何使用Spring+CXF实现用户文件传输的Webservice。该Webservice提供了基本的报文上传和查询功能,同时还提供了用户身份验证功能。 Spring 和 ...
在每个项目中,`lib`目录下包含的jar文件是运行CXF Web服务所需的各种依赖库,包括CXF的核心库、Spring框架、以及其他可能的XML处理和网络通信库。将这些jar文件复制到其他项目中,确保了所有项目都能正确运行和互相...
### Spring2 + CXF 实现 WebService 的关键知识点 #### 一、概述 在现代软件架构设计中,WebService 是一种非常重要的技术手段,它能够帮助开发者实现不同系统间的交互和服务共享。Spring 框架与 Apache CXF 结合...