Java Web服务客户端超时值未更改



当我为来自客户端的服务调用设置超时时,它不会覆盖defalt值,这是有原因的吗?

这些我都试过了,但没有成功。

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());

这些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

相关内容

  • 没有找到相关文章

最新更新