使用JAX-WS指定初始WSDL检索的超时?

时间:2011-10-31 13:06:28

标签: java wsdl timeout jax-ws

使用JAX-WS为初始WSDL检索指定超时的最佳方法是什么?

似乎可以使用以下命令为Web服务调用指定超时:

((BindingProvider) port).getRequestContext().put(BindingProviderProperties.CONNECT_TIMEOUT, 2000);
((BindingProvider) port).getRequestContext().put(BindingProviderProperties.REQUEST_TIMEOUT, 2000);

但它不会影响WSDL文件的初始检索。

似乎可以使用此系统属性为所有HttpUrlConnection调用指定全局超时:

sun.net.client.defaultConnectTimeout

但它会影响所有来电而不仅仅是这一次。

还有一种简单的方法来使用WSDL文件的本地副本,以便不执行WSDL文件的初始检索吗?

感谢

1 个答案:

答案 0 :(得分:0)

假设非托管客户端:

如果您正在使用生成的绑定,则应该有一个带URL的构造函数。此URL可以指向本地资源(例如,类路径)。如果您使用的是动态客户端,请使用Service.create(URL, QName)方法执行相同操作。有关示例,请参阅here

在托管客户端容器中,可以使用JSR 109中指定的捆绑WSDL加载服务。