使用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文件的初始检索吗?
感谢
答案 0 :(得分:0)
假设非托管客户端:
如果您正在使用生成的绑定,则应该有一个带URL的构造函数。此URL可以指向本地资源(例如,类路径)。如果您使用的是动态客户端,请使用Service.create(URL, QName)
方法执行相同操作。有关示例,请参阅here。
在托管客户端容器中,可以使用JSR 109中指定的捆绑WSDL加载服务。