0

当我为来自客户端的服务调用设置超时时,是否有理由不覆盖默认值?

我已经尝试了所有这些但没有运气。

DictionaryTransferService service = new DictionaryTransferService();

DictionaryTransfer port = service.getDictionaryTransferPort();

((BindingProvider) port).getRequestContext().put(StubExt.PROPERTY_CLIENT_TIMEOUT, 10 * 60 * 1000);
((BindingProvider) port).getRequestContext().put("com.sun.xml.internal.ws.connect.timeout", 5 * 60 * 1000);
((BindingProvider) port).getRequestContext().put("com.sun.xml.internal.ws.request.timeout", 10 * 60 * 1000);
((BindingProvider) port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL.toString());
4

1 回答 1

0

这些 JAX-WS RI 设置的常量在某一时刻发生了变化,因此您可能需要改用这些常量:

"com.sun.xml.ws.connect.timeout"
"com.sun.xml.ws.request.timeout"

或者更好的是,使用JAXWSProperties类本身的常量。

由于您正在运行 JBoss,因此您也可以尝试这些:

org.jboss.ws.core.StubExt.PROPERTY_CONNECTION_TIMEOUT
org.jboss.ws.core.StubExt.PROPERTY_RECEIVE_TIMEOUT
于 2013-07-31T20:37:06.743 回答