WebService CXF 如何设置 timeout

来源:互联网 发布:erp软件推荐 编辑:程序博客网 时间:2024/06/05 14:24

由于用CXF构建的webservice使用的是spring配置方式很简单 
但是由于客户端使用jaxws:client方式请求的,这个请求方式不能直接配置timeout的
用spring配置jaxws客户端请求的的配置:

 

Xml代码
 收藏代码
  1. <jaxws:client id="" serviceClass="" address="" />  

 

如果使用这种方式配置直接有timeout属性 

 

Xml代码
 收藏代码
  1. <http-conf:conduit>  
  2.          <http-conf:client ConnectionTimeout="30000"/>  
  3. </http-conf:conduit>  

 

那我们继续使用jaxws:client配置方式如何设置timeout呢? 
只需在我们调用web service的代码之处加上: 

 

Java代码
 收藏代码
  1. long timeout = 10000L;  
  2. client = ClientProxy.getClient(对应spring配置文件里你配置的clientid);  
  3. if (client != null) {  
  4.     HTTPConduit conduit = (HTTPConduit) client.getConduit();  
  5.     HTTPClientPolicy policy = new HTTPClientPolicy();  
  6.     policy.setConnectionTimeout(timeout);  
  7.     policy.setReceiveTimeout(timeout);  
  8.     conduit.setClient(policy);  
  9. }  

 

0 0
原创粉丝点击