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服务,将一些其他 ...
随机推荐
- 【Android】监听viewpager子页面里面的Button按钮
最近做项目遇到Viewpager+Fragment滑动页面,要监听子页面中的按钮,在网上查了些解决办法: 办法一: 这种方法是在适配器初始化中进行监听,有人亲测通过,但是我继承FragmentPage ...
- URAL Formula 1 ——插头DP
[题目分析] 一直听说这是插头DP入门题目. 难到爆炸. 写了2h,各种大常数,ural垫底. [代码] #include <cstdio> #include <cstring> ...
- asp.net 错误 类型"xxxxx"同时存在于"xxx.dll"和"xxxx.dll" 中
http://walttoney.blog.163.com/blog/static/127685797201051112839328/错误 类型“System.Web.UI.ScriptManager ...
- ajax 分页(jquery分页插件pagination) 小例1
<link rel="stylesheet" href="/plugins/jQuery/page/pagination.css"/> <sc ...
- STM32F10x_StdPeriph_Driver_3.5.0(中文版).chm的使用
以熟悉的固件库函数说明中函数GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_IintTypeDef *GPIO_InitStructure)为例 GPIOA...G ...
- bzoj 5091: [Lydsy0711月赛]摘苹果
5091: [Lydsy0711月赛]摘苹果 Time Limit: 1 Sec Memory Limit: 256 MBSubmit: 148 Solved: 114[Submit][Statu ...
- java实现简单的算法
排序大的分类可以分为两种:内排序和外排序.在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序.下面讲的排序都是属于内排序. 内排序有可以分为以下几类: (1).插 ...
- 使用Swagger生成Spring Boot REST客户端(支持Feign)(待实践)
如果项目上使用了Swagger做RESTful的文档,那么也可以通过Swagger提供的代码生成器生成客户端代码,同时支持Feign客户端. 但是经过测试,生成Feign代码和REST客户端有些臃肿. ...
- 解决树莓派8G的SD卡只能识别3.3G,SD卡扩容
8GB microSD在Windows下使用Win32 Disk Imager下载映像后,在RPi中只能识别出3.3GB.而本身还有很多容量没有释放出来. 使用sudo raspi-config工具可 ...
- __new__ 和 __init__
new 在新式类中负责真正的实例化对象,而__init__只是负责初始化 __new__创建的对象.一般来说 new 创建一个内存对象,也就是实例化的对象的实体,交给__init__进行进一步加工.官 ...