`
jiagyao
  • 浏览: 99347 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Spring下设置CXF的WebService客户端超时时长

阅读更多
主要在客户端调用时设置 :   

在使用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
分享到:
评论

相关推荐

    CXF动态webservice客户端demo

    7. **配置和优化**:CXF支持多种配置,例如设置超时、安全认证、日志等,这可以通过Spring配置文件或编程式方式进行。 在"DynamicClientDemo"项目中,你可以看到如何将这些步骤整合到实际应用中,包括如何初始化...

    springboot整合CXF发布webservice和客户端调用

    SpringBoot简化了Spring应用程序的初始设置和配置,通过自动配置和“起步依赖”(Starter POMs)使开发者可以快速启动项目。它内嵌了Tomcat或Jetty服务器,使得部署无需额外的容器。 2. **Apache CXF简介** ...

    spring+CXF实现WebService(http+https)

    Spring框架是Java企业级应用开发的首选,而CXF是一个强大的开源服务框架,支持创建和消费Web服务。本教程将深入探讨如何利用Spring和CXF来实现基于HTTP和HTTPS的Web服务,并且将涉及到HTTPS的证书配置。 1. **...

    CXF 一个完整的webService(整合客户端和服务端)

    - **客户端代理**:CXF自动生成客户端代码,方便调用服务。 **2. 创建Web服务端** 在CXF中,服务端的开发通常涉及以下步骤: 1. 定义服务接口:使用Java接口定义服务方法。 2. 实现服务接口:编写具体的业务逻辑...

    使用cxf和spring开发基于https的webservice服务端以及客户端样例

    服务端的实现类可以被Spring管理,利用注解如`@WebService`和`@Endpoint`进行标记。同时,配置HTTPS需要在CXF的Servlet配置中启用SSL,指定密钥库路径和密码。 客户端开发相对简单,它通过CXF的WSClientAPI动态生成...

    Apache CXF2+Spring2.5轻松实现WebService

    本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 首先,让我们理解这两个组件的基本概念。Apache CXF是一个全面的服务框架,它支持多种Web服务规范,如SOAP、RESTful、WS-*等。它提供了...

    Springboot整合CXF发布Web service和客户端调用(用户和密码验证)

    生成客户端代码后,你可以在Spring Boot客户端应用中引入这些生成的类,并使用它们来调用服务: ```java import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; public class Client { public static void main...

    cxf开发webservice客户端和服务器端文档

    cxf开发webservice客户端和服务器端 cxf(Apache CXF)是一款开源的WebService框架,用于开发webservice客户端和服务器端。它提供了许多有用的功能,如自动生成服务桩、客户调用桩和WSDL文档等,使得开发webservice...

    Spring+CXF 发布WebService服务

    本文将深入探讨如何使用Spring和CXF来发布WebService服务。 首先,Spring是一个开源的Java平台,它提供了全面的编程和配置模型,用于简化企业级应用的开发。Spring框架的核心特性包括依赖注入、面向切面编程(AOP)...

    CXF开发webservice客户端

    本文档将详细介绍如何使用 Apache CXF 2.2.6 和 Spring WS 1.5.8 构建一个简单的 WebService 客户端。通过本教程,您将能够掌握从创建工程到实际调用 Web 服务的一系列步骤。 #### 二、开发环境搭建 1. **Apache ...

    cxf+spring开发webservice客户端与服务端实例

    2. 配置Spring:在Spring配置文件中,配置客户端的代理对象,设置服务的URL和其他相关参数。 3. 调用服务:在Java代码中,通过Spring注入的客户端代理对象调用服务方法,执行业务逻辑。 五、集成步骤 1. 添加依赖:...

    spring-cxf WebService

    【Spring-CXF WebService】是基于Spring框架和Apache CXF实现的一个Web服务示例,它展示了如何在Spring环境中集成CXF来创建、部署和消费Web服务。Spring-CXF结合了Spring的强大功能和CXF的优秀Web服务支持,使得开发...

    webservice客户端,整合spring

    本知识点将深入探讨如何在Spring框架中整合CXF,以创建一个有效的Webservice客户端。 1. **什么是Web Service**: Web Service是一种基于XML的开放标准,它允许应用程序通过网络共享业务逻辑,不受平台限制。SOAP...

    webservice的cxf框架客户端调用所需jar包

    CXF框架是Apache组织开发的一款开源的Web服务框架,它支持SOAP、RESTful...在实际项目中,将这些JAR包放入项目的`lib`目录下,确保了所有必要的依赖都被正确加载,从而能够顺利地使用CXF框架进行Web服务的客户端调用。

    Spring+cxf请求webService

    2. **CXF WebService客户端创建** 创建CXF客户端通常包括以下步骤: - 首先,获取Web服务的WSDL(Web Service Definition Language)文件,它是描述Web服务接口的标准XML文档。 - 使用CXF的Wsdl2Java工具,...

    CXF WebService整合Spring代码(包含服务,客户端两个工程 和 文档)

    CXF WebService整合Spring代码(包含服务,客户端两个工程 和 文档) 需要视频的话,留邮箱

    基于spring+cxf实现用户文件传输的webservice

    基于spring+cxf实现用户文件传输的webservice 在本文中,我们将探讨如何使用Spring+CXF实现用户文件传输的Webservice。该Webservice提供了基本的报文上传和查询功能,同时还提供了用户身份验证功能。 Spring 和 ...

    cxf webservice demo

    在每个项目中,`lib`目录下包含的jar文件是运行CXF Web服务所需的各种依赖库,包括CXF的核心库、Spring框架、以及其他可能的XML处理和网络通信库。将这些jar文件复制到其他项目中,确保了所有项目都能正确运行和互相...

    Spring2+CXF实现webservice笔记

    ### Spring2 + CXF 实现 WebService 的关键知识点 #### 一、概述 在现代软件架构设计中,WebService 是一种非常重要的技术手段,它能够帮助开发者实现不同系统间的交互和服务共享。Spring 框架与 Apache CXF 结合...

Global site tag (gtag.js) - Google Analytics