Установка тайм-аута для веб-службы Axis SOAP

Я использую веб-сервис 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 или другой, и как применять эту опцию.

8
задан Andreas Veithen 31 December 2011 в 18:33
поделиться