Я использую веб-сервис Axis 1.4 следующим образом:
FooServiceLocator fooLocator = new FooServiceLocator();
fooLocator.getEngine().setOption("sendMultiRefs", false);
Foo foo = fooLocator.getFooService(new URL(soapServiceUrl));
Как установить тайм-аут для установления соединения и для открытого соединения?
(Аналогично org.apache.commons.net.SocketClient
setTimeout ()
и setSoTimeout ()
) ?
Я нашел подсказку, предлагающую установить тайм-аут следующим образом:
((Stub) sPcspService).setTimeout(soapTimeoutSecs * 1000);
но явное приведение больше похоже на взлом, чем на официальное использование API.
При поиске исходного кода я нашел ссылки на
DefaultCommonsHTTPClientProperties. CONNECTION_DEFAULT_SO_TIMEOUT_KEY
, но я также не знаю, использую ли я HTTP-клиент Commons
или другой, и как применять эту опцию.