Java Web Service客户端超时值不会更改

时间:2013-07-31 19:40:55

标签: java web-services soap jboss timeout

我是否有理由从客户端设置服务调用的时间,它没有覆盖defualt值?

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

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

1 个答案:

答案 0 :(得分: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