`
xm_koma
  • 浏览: 383478 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jdk6-webservice超时设置

阅读更多

在开发webservice客户端的代码中,必须需要设置timeout与connection-timeout两个参数,因为很多时候客户端的应用不可能一直阻塞的等待服务端的响应。下面就针对jdk6开发的webservice客户端,对于上面两个参数的设置做一个说明:

一、直接用jdk中的java.net.URLConnection(也可以是java.net.HttpURLConnection)做客户端的开发。

			URL url = new URL(urlString);
			URLConnection conn = url.openConnection();
			conn.setUseCaches(false);
			conn.setDoInput(true);
			conn.setDoOutput(true);
			conn.setConnectTimeout(connectTimeout * Millisecond);
			conn.setReadTimeout(reaquestTimeout * Millisecond);

 connectTimeout * Millisecond和reaquestTimeout * Millisecond:Millisecond=1000(表示1000毫秒的意思)

connectTimeout和reaquestTimeout是设置的时间数。

 

二、基于jdk6的wsimport命令通过wsdl文件构建的客户端(见本博客http://xm-koma.iteye.com/blog/1605800):

			HuaXiaServiceImplPortType hxip = (HuaXiaServiceImplPortType) hxs
					.getHuaXiaServiceImplPort();
			Map<String, Object> ctxt = ((BindingProvider) hxip)
					.getRequestContext();
			ctxt.put("com.sun.xml.internal.ws.connect.timeout", connectTimeout
					* Millisecond);
			ctxt.put("com.sun.xml.internal.ws.request.timeout", reaquestTimeout
					* Millisecond);

 

com.sun.xml.internal.ws.connect.timeout和com.sun.xml.internal.ws.request.timeout两个参数来自com.sun.xml.internal.ws.developer.JAXWSProperties这个类中的字符串常量。但由于很多小版本号较低的jdk6中没有这个类,所以写成字符串也是可行的。

 

另外可参考下面的文章:

http://stackoverflow.com/questions/3130913/setting-jax-ws-client-timeout
http://androidyo.iteye.com/blog/624015
http://www.blogjava.net/supercrsky/articles/247449.html

分享到:
评论

相关推荐

    Java编程Webservice指定超时时间代码详解

    上述代码片段展示了如何在Java中通过JDK提供的API来设定Webservice调用的超时时间。 首先,我们需要了解`javax.xml.ws.Service`类,它是Java中用于创建和访问Webservice的基础。通过`Service.create()`方法,我们...

    eclipse中使用webservice远程服务 超详细教程

    - 修改生成的代码以适应实际需求,如添加错误处理逻辑、设置超时时间等。 #### 五、调用服务 1. **初始化客户端对象**: - 使用生成的客户端类初始化客户端对象。 - 设置必要的参数,如服务地址、方法参数等。 ...

    JDK动态代理在EJB3(包括WebService)中的应用

    标题 "JDK动态代理在EJB3(包括WebService)中的应用" 暗示了本文将探讨Java开发中的一种重要技术——JDK动态代理,以及它如何在企业级JavaBean (EJB) 3.x版本及其相关的Web服务实现中发挥作用。EJB3是Java EE平台的...

    xfire生成webservice

    6. **打包和部署**:将你的Java项目打包成WAR文件,然后将这个WAR文件部署到JBoss 5.1应用服务器中。你可以通过Eclipse的“Server”视图,添加JBoss服务器,然后将WAR文件拖放到服务器上进行部署。 7. **测试Web...

    cxf调用c#的webservice

    - 可以通过调整CXF客户端的配置,例如设置连接超时、重试策略等,来优化性能和稳定性。 总之,使用Apache CXF,Java开发者可以方便地调用C#编写的Web服务,实现跨语言的通信。这个过程涉及到了WSDL解析、Java代理...

    独立运行的webservice服务

    此外,可以通过调整Jetty服务器的配置来优化性能,例如增加线程池大小、设置超时时间等。 在提供的压缩包`cxfdemo`中,可能包含了实现上述步骤的示例代码,你可以参考这些代码来快速理解和实践Apache CXF创建独立...

    JAVA面试_Dubbo常问面试题30个.pdf

    消费者端设置优先级更高,可以灵活控制服务调用的超时,超时时,服务端线程不会被占用,但会产生警告。 【Dubbo注册中心】 - **Multicast注册中心**:无中心节点,通过组播地址实现服务注册和发现。 - **Zookeeper...

    架构师面试题系列之Dubbo面试专题及答案(29题).docx

    - 服务消费者端设置:消费者端设置的超时时间优先级更高,控制灵活性更高。如果消费者超时,服务端线程不被阻塞,仅发出警告。 3. **Dubbo注册中心** - **Multicast**:基于组播传输,无需中心节点。 - **...

    Dubbo服务框架面试题及答案.pdf

    关于超时时间设置,Dubbo允许在服务提供者和服务消费者两端设置。服务提供者端的超时时间更接近服务的实际特性,而消费者端的设置优先级更高,可以更灵活地控制调用超时。 Dubbo支持多种注册中心,如Multicast、...

    嘉讯mas2.0_JAVA_API

    - **setConnectTimeout**: 设置与服务连接的超时时长。 - **setSendTimeout**: 设置发送超时时长。 - **start**: 启动API。 - **getConnStatusIAGW**: 获取与网关的连接状态。 - **canelSms**: 取消短信发送。 - **...

    Dubbo面试题集合.pdf

    - **服务消费者端设置**:如果消费者端设置了超时时间,则消费者端设置优先级更高,提供更多的灵活性。如果消费者端超时,服务端线程不会被终止,但会产生警告。 ### Dubbo的注册中心 - **Multicast注册中心**:不...

    Dubbo面试及答案(上).pdf111

    Dubbo超时时间可以通过服务提供者和服务消费者两端设置。服务端设置更贴近服务特性,消费者端设置有更高的优先级,便于灵活控制。若消费者端超时,服务端线程不会被占用,但会产生警告。 **3. Dubbo注册中心** - **...

    2021Java字节跳动面试题——面向字节_Dubbo(上).pdf

    2. **服务消费者端设置**:如果消费者端设置了超时时间,则以消费者端为准,具有更高的优先级。这种方式灵活性更强,但若消费者超时,服务端线程不会终止,只会产生警告。 ### Dubbo注册中心 Dubbo支持多种注册中心...

    Java Dubbo面试及答案

    2. 服务消费者端设置超时时间,如果在消费者端设置了超时时间,以消费者端为主,即优先级更高。因为服务调用方设置超时时间控制性更灵活。如果消费方超时,服务端线程不会定制,会产生警告。 三、Dubbo 有些哪些...

    Dubbo面试.pdf

    在面试中被问到如何设置Dubbo的超时时间时,需要知道有以下两种设置方式: 1. 服务提供者端设置超时时间:这是推荐的方式,因为服务提供者更清楚自身服务的特性。 2. 服务消费者端设置超时时间:这种方式的优先级更...

    J2me访问c# Web Services

    此外,还可能需要处理网络连接的异常情况,如超时或连接失败。 总之,要使J2ME应用程序成功访问C# Web服务并处理中文字符,关键在于理解两种平台的编码差异,正确配置服务器端和客户端的编码设置,并在客户端代码中...

    Dubbo面试及答案(上).pdf

    服务提供者端的设置有助于更好地理解服务性能,而消费者端的设置具有更高的优先级,能灵活控制调用超时。如果消费者端超时,服务端线程不会阻塞,但会产生警告。 【Dubbo注册中心】 Dubbo支持多种注册中心,包括:...

    java面试知识

    ##### JDK常用的包 - **java.lang**:包含所有编程必需的基础类,如String、Math等。 - **java.util**:提供了大量实用工具类,如集合框架(List、Map等)、日期操作等。 - **java.io**:提供用于输入/输出的类,如...

Global site tag (gtag.js) - Google Analytics