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"));

时间: 2024-10-11 20:51:26

webservice client setTimeOut的相关文章

java创建webservice client

java的webservice实现有多种方式,可用的工具也有一些.之前对这块的只是比较缺乏,以至于一上来就一直看spring webservice.花费了几天后发现和要用的功能不符,就··· 当前学习的需求是webservice client.因此整篇文章用来说明java webserviceclient的创建过程. 首先使用java自带的soapconnection实现.那首先具体的client访问流程为 SOAPConnection connection = null; try { SOAP

调用webService的几种方式

转自:http://blog.csdn.net/u011165335/article/details/51345224 一.概览 方式1: HttpClient:可以用来调用webservie服务,也可以抓取网页数据 版本1:HttpClient3.0.x 版本2:HttpClient4.x.x(目前最新4.5.2) 这2个版本的使用方式不一样:变动较大 方式2:纯Java(自带API)      jws 方式3:cxf框架 方式4:axis2框架 准备工作: 1.了解wsimport    

Java中使用webservice,简化开发(xfire的webservice)

首先,使用到的jar先导入项目中, xbean-spring-2.8.jar, wsdl4j-1.6.1.jar, commons-httpclient-3.0.jar, commons-codec-1.3.jar, xfire-all-1.2.6.jar, xmlschema-1.1.jar, spring-1.2.6.jar, commons-logging-1.0.4.jar, jdom-1.0.jar, 这9个包是xfire实现服务器端的webservice主要的包,包含访问webser

Java调用WebService 接口 实例

这里给大家介绍一下,Java调用webservice的一个实例的过程. 本项目不能运行,因为接口地址不可用. 这里只是给大家介绍一个过程,同时留作自己的笔记.如果要学习,可以参照别人的实例.比较好. ①选择项目根目录的src ,右键,new --> webservice client 然后输入地址: http://172.18.100.52:456/hello?wsdl 必须要加wsdl结尾,这样才是一个webservice的接口. finlish.这时候刷新项目.可以看到项目下/src/com

WebService的讲解 和 CXF 的初步使用

1. 复习准备 1.1. Schema约束 几个重要知识: namespace 相当于schema文件的id targetNamespace属性 用来指定schema文件的namespace的值 xmlns属性 引入一个约束, 它的值是一个schema文件的namespace值 schemaLocation属性 用来指定引入的schema文件的位置   schema规范中: 1. 所有标签和属性都需要有schema文件来定义 2. 所有的schema文件都需要有一个id, 但在这里它叫names

WebService学习总结(四)——调用第三方提供的webService服务

WebService学习总结(四)——调用第三方提供的webService服务 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为例进行说明. 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client).一. 调用

org.apache.http.client.HttpClient; HttpClient 4.3超时设置

可用的code public static String doPost(String url, String params, String contentType) /*throws IOException */{ CloseableHttpClient client = HttpClients.createDefault(); RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(httpSoTimeout)

WebService学习总结(4)——第三方webService服务调用

互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为例进行说明. 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client). 一. 调用免费的web service获取天气预报信息 1.1.找到提供天气预报信息的W

1.webService入门

学习webService前,先来思考一个问题: 请看以下截图: 以上是一个综合网站的部分显示信息,我们能很明显的看出打开该网页所处区域的一些信息,比如:地点是厦门,天气是阵雨,温度是9摄氏度等等... 那么,这些数据都是保存在公司服务器的吗? 显然不是,一个中国那么大,有多少地区,一个公司要存放每一天的相关地区的天气等数据,那得消耗多少资源,所以该信息一般是从气象局获取. 这些数据获取过来是网页形式的吗? 很多门户网站都有相关天气信息的显示,并且很容易看出它们的样式都是不一样的,所以很明显获取的