Временная ошибка Apache HttpClient: NoHttpResponseException

У меня есть веб-сервис, который принимает метод POST с XML. Он работает нормально, а затем по случайному случаю не может связаться с сервером, выбрасывая IOException с сообщениемThe target server failed to respond, Последующие звонки работают нормально.

В основном это происходит, когда я делаю несколько звонков, а затем оставляю свое приложение без дела около 10-15 минут. первый звонок, который я делаю после этого, возвращает эту ошибку.

Я попробовал пару вещей ...

Я настраиваю обработчик повторов как

<code>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>

но эта повторная попытка не была вызвана. (да, я использую правильное предложение instanceof). При отладке этот класс никогда не вызывается.

Я даже пытался настроитьHttpProtocolParams.setUseExpectContinue(httpClient.getParams(), false); но бесполезно. Может кто-нибудь подсказать, что я могу сделать сейчас?

IMPORTANT Помимо выяснения, почему я получаю исключение, одна из важных проблем, с которыми я сталкиваюсь, заключается в том, почему здесь не работает ретранслятор?

Ответы на вопрос(5)

Ваш ответ на вопрос