проблема с тайм-аутом заглушки клиента оси - PullRequest
2 голосов
/ 26 августа 2009

Я пишу приложение, которое использует веб-сервисы для подключения к удаленному серверу. Я написал метод для проверки связи, чтобы определить, подключен ли сервер к сети или нет (т. Е. Предоставляет веб-сервисы, к которым можно получить доступ через порт host: port). ). Я выполняю простой веб-сервис с тайм-аутом в 2 секунды (доступный в качестве опции в классе-заглушке до того, как я сделаю вызов). В действительности вызов должен вернуться в течение 2 секунд, что позволяет мне определить, работает ли сервер или нет. в некоторых случаях это занимает гораздо больше времени, чем 2 секунды.

Может кто-нибудь помочь мне выяснить, почему это происходит? Есть ли способ обеспечить соблюдение значения тайм-аута?

Спасибо, Fell

Ответы [ 2 ]

3 голосов
/ 17 июля 2013

В клиентских заглушках Axis есть возможность установить время ожидания. Вы также можете использовать его. Обратите внимание, что время ожидания измеряется в миллисекундах. проверьте здесь

И если это Axis2, вы можете использовать так:

Stub s = new Stub();
ServiceClient sc = s.getServiceClient();
Options o = sc.getOptions();
o.setTimeOutInMilliSeconds(2000); //2 seconds
sc.setOptions(o);
s.setServiceClient(sc);

Вы можете совершать звонки после настройки вышеуказанного материала.

1 голос
/ 27 августа 2009

Не используйте отправителя http по умолчанию, переключитесь на отправителя на базе http клиента. Подробности здесь - http://wiki.apache.org/ws/FrontPage/Axis/AxisCommonsHTTP - На этой же странице есть подробности о том, как установить различные виды таймаутов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...