微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xfire webservice timeout 设置

基于http的网络连接中超时设置如下:

URL url = new URL("http://www.163.com");

 

HttpURLConnection httpconnection = (HttpURLConnection) url.openConnection();

httpconnection.setReadTimeout(5000);//设置从主机读取数据超时(单位:毫秒)

httpconnection.setConnectTimeout(20000); //设置连接主机超时(单位:毫秒)

httpconnection.connect();


在xfire生成webservice客户端设置超时:

//创建Service对象 
MyServiceClient MyClient = new MyServiceClient(); 
MyService MyService = MyClient.getMyServicePort(); 
//设置连接参数 
HttpClientParams params = new HttpClientParams(); 
params.setParameter(HttpClientParams.USE_EXPECT_CONTINUE,Boolean.FALSE); 
params.setParameter(HttpClientParams.CONNECTION_MANAGER_TIMEOUT,setting.getTimeout() * 1000);//单位是毫秒 
Client client = Client.getInstance(MyService); 
client.setProperty(CommonsHttpMessageSender.HTTP_CLIENT_ParaMS,params);

XFire是基于Apache的HttpClient,所以实际上连接超时的参数是就是设置在HttpClient上的。

经过测试,使用HttpClient设置连接超时并没有起作用;(原因还有待查证)

不过可以直接使用HttpURLConnection 来设置

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐