У меня есть веб -сервис, который принимает метод поста с XML. Он работает нормально, тогда в некотором случайном случае он не может сообщить серверу, бросающему ioException с сообщением. Целевой сервер не удалось ответить . Последующие звонки работают нормально. < /p>
Это происходит в основном, когда я делаю несколько звонков, а затем оставляю холостое время примерно на 10-15 мин. Первый звонок, который я делаю после этого, возвращает эту ошибку. < /p>
Я пробовал пару вещей ... < /p>
Я настраиваю обработчик повторения, как < /p>
HttpRequestRetryHandler retryHandler = new HttpRequestRetryHandler() {
public boolean retryRequest(IOException e, int retryCount, HttpContext httpCtx) {
if (retryCount >= 3){
Logger.warn(CALLER, "Maximum tries reached, exception would be thrown to outer block");
return false;
}
if (e instanceof org.apache.http.NoHttpResponseException){
Logger.warn(CALLER, "No response from server on "+retryCount+" call");
return true;
}
return false;
}
};
httpPost.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, retryHandler);
< /code>
Но эта попытка никогда не вызвана. (Да, я использую правильный экземпляр пункта). При отладке этого класса никогда не называется. < /p>
Я даже пытался настроить httpprotocolparams.setuseexpectcontinue (httpclient.getparams (), false); < /code>, но без использования. Может кто -нибудь предложить, что я могу сделать сейчас? < /p>
Важный < /strong>
помимо выяснения, почему я получаю исключение, одна из важных проблем, которые у меня есть, - почему здесь не работает retryhandler?
Подробнее здесь: https://stackoverflow.com/questions/105 ... eexception