java无法在JAXWS Eclipse生成的客户端上设置自定义超时
我有一个现有的WSDL,并从中使用eclipse 4.5版来生成一个客户端。这给了我一个代码生成的代理提供程序。我尝试了以下方法,但没有成功(顺便说一下,我使用的是java 7.079):
this.webservice = new ENC3WebAppServicePortProxy(username, password);
Descriptor desc = webservice._getDescriptor();
desc.setEndpoint(webserviceURL);
// Set timeout
BindingProvider bp = (BindingProvider) webservice._getDescriptor().getProxy();
Map<String, Object> requestContext = bp.getRequestContext();
requestContext.put("com.sun.xml.ws.connect.timeout", 120000); // Timeout in millis
requestContext.put("com.sun.xml.ws.request.timeout", 120000); // Timeout in millis
你知道为什么这行不通吗
仅供参考,我也尝试了使用ibm ws bnd文件让Liberty覆盖超时设置的方法,但事实证明这更加困难,因为无法发现他们希望我在代码生成的客户端上放置@WebServiceRef注释的位置。客户机是由代码生成的,这一事实让我无法完全理解它是如何工作的,而我没有那么多时间
# 1 楼答案
这是我设置端点、基本身份验证和超时的方式。此代码与您的代码仅在获取“服务”实例的方式上有所不同