webservice client setTimeOut
一:eclipse生成的client,基于axis
client_sub.getOptions().setTimeOutInMilliSeconds(1000*60);
client_sub表示一个客户端上的存根对象。
如:org.apache.axis.client.Call _call=createCall();
二:基于XFire
Service model = new ObjectServiceFactory().create(TaskService.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
TaskService service = (TaskService) factory.create(model, url);
Client client =Client.getInstance(service);
client.setTimeout(10000);
client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, String.valueOf(10000));
client.setProperty(CommonsHttpMessageSender.DISABLE_KEEP_ALIVE, "true");
client.setProperty(CommonsHttpMessageSender.DISABLE_EXPECT_CONTINUE, "true");
//另一种
SimpleServiceServiceClient serviceClient= new SimpleServiceServiceClient();
SimpleService servicePort = serviceClient.getSimpleServicePort();
HttpClientParams params = new HttpClientParams();
params.setParameter(HttpClientParams.USE_EXPECT_CONTINUE, Boolean.FALSE);
// set connection timeout
params.setParameter(HttpClientParams.CONNECTION_MANAGER_TIMEOUT, 2L);
//set response timeout
params.setIntParameter(HttpClientParams.SO_TIMEOUT,2);
Client client = Client.getInstance(servicePort);
client.setProperty(CommonsHttpMessageSender.HTTP_CLIENT_PARAMS, params);
System.out.println(servicePort.concatenate("xfire1", "xfire2"));
三:基于CXF
//1,在CXF生成的stub的客户端,方式如下(CXF2.1.1):
//其中SimpleServiceService是自动生成的stub类.
SimpleServiceService srv = new SimpleServiceService();
SimpleService servicePort = srv.getSimpleServicePort();
//timeout setting
Client cl = ClientProxy.getClient(servicePort);
HTTPConduit http = (HTTPConduit) cl.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(10000);
httpClientPolicy.setReceiveTimeout(1000);
http.setClient(httpClientPolicy);
servicePort.concatenate("111", "2222");
四:jax-ws
//3,jax-ws的客户端:同样利用CXF的ClientProxy控制http连接:
URL wsdlURL = new URL("file:///D:/JAVAWorkspace/Repository/prjCXFWS/src/wsdl/prjCXFWS.wsdl");
QName serviceQName = new QName("http://test.cxfws.com/", "SimpleServiceService");
QName portQName = new QName("http://test.cxfws.com/", "SimpleServicePort");
Service service = Service.create(wsdlURL, serviceQName);
//set handler
service.setHandlerResolver(new RequestOrderHandlerResolver()); SimpleService port = (SimpleService) service.getPort(portQName, SimpleService.class);
//timeout setting
Client cl = ClientProxy.getClient(port);
HTTPConduit http = (HTTPConduit) cl.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(10000);
httpClientPolicy.setReceiveTimeout(1000);
http.setClient(httpClientPolicy);
System.out.println(port.concatenate("srt1", "srt2"));
webservice client setTimeOut的更多相关文章
- How do I set the timeout for a JAX-WS webservice client?
How do I set the timeout for a JAX-WS webservice client? up vote58down votefavorite 27 I've used JAX ...
- [转]Webservice client timeout
本文转自:http://social.msdn.microsoft.com/Forums/vstudio/en-us/ed89ae3c-e5f8-401b-bcc7-333579a9f0fe/webs ...
- WebService Client Generation Error with JDK8
java.lang.AssertionError: org.xml.sax.SAXParseException; systemId: jar:file:/path/to/glassfish/modul ...
- Java中使用webservice,简化开发(xfire的webservice)
首先,使用到的jar先导入项目中, xbean-spring-2.8.jar, wsdl4j-1.6.1.jar, commons-httpclient-3.0.jar, commons-codec- ...
- 调用webService的几种方式
转自:http://blog.csdn.net/u011165335/article/details/51345224 一.概览 方式1: HttpClient:可以用来调用webservie服务,也 ...
- 使用axis调用webservice接口
以前使用webservice服务都很简单,就是根据提供的wsdl接口地址,通过eclipse或者idea自动生成webservice client包,然后直接调用就可以了.这次业务提供的wsdl是需要 ...
- Java WebService _CXF、Xfire、AXIS2、AXIS1_四种发布方式(使用整理)
目录 1. CXF方式2. Xfire方式3. AXIS2方式4. AXIS1方式5. AXIS1客户端调用6. AXIS2客户端调用7. CXF客户端调用8. Web Service Client客 ...
- Webservice详解
WebService是什么? 1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 2. 一个跨语言.跨平台的规范(抽象) 3. 多个跨平台.跨语言的应用间通信整合的方案(实际) ...
- WebService学习总结(四)——调用第三方提供的webService服务
http://www.cnblogs.com/xdp-gacl/p/4260627.html 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他 ...
随机推荐
- nginx的简介和配置文件实例(一)
此文章配合 nginx配置文件解答 共同分享,了解. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务器 使用 Nginx 前必须了解的事项: 1)Nginx 本身只是一个 ...
- 关于JS中字符串赋值的问题
JS中不能直接 字符串不能 str[i] = 'x' 不能for循环 字符串length 然后赋值 应该 将字符串转换为数组 而且 字符x[i]=* 不是所有浏览器都兼容的 用 spl ...
- Spell Boost
Spell Boost 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Shadowverse is a funny card game. One day you are playing ...
- git fetch tag 获取远程tag
获取远程的tag( 远程存在,本地不存在) git fetch origin tag 2.4.7 出现如下文字,说明获取远程tag成功 remote: Counting objects: 2, don ...
- MYSQL 中GROUP BY
group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子 ...
- Java 并发编程中的 Executor 框架与线程池
Java 5 开始引入 Conccurent 软件包,提供完备的并发能力,对线程池有了更好的支持.其中,Executor 框架是最值得称道的. Executor框架是指java 5中引入的一系列并发库 ...
- Educational Codeforces Round 36 (Rated for Div. 2) G. Coprime Arrays
求a_i 在 [1,k]范围内,gcd(a_1,a_2...,a_n) = 1的a的数组个数. F(x)表示gcd(a_1,a_2,...,a_n) = i的a的个数 f(x)表示gcd(a_1,a_ ...
- HUD 1506 Largest Rectangle in a Histogram
Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- luogu P1149 火柴棒等式
题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注意: 加号与等号各自 ...
- Centos7 下的防火墙端口配置
如果外部不能访问,需要查看防火墙以及服务器的端口安全设置. 防火墙的操作 查看所有打开的端口: firewall-cmd --zone=public --list-ports 添加 firewall- ...