Error provisional de Apache HttpClient: NoHttpResponseException

Tengo un servicio web que acepta un método POST con XML. Está funcionando bien, pero en alguna ocasión aleatoria, no se puede comunicar con el servidor al lanzar IOException con mensajeThe target server failed to respond. Las llamadas posteriores funcionan bien.

Ocurre principalmente, cuando hago algunas llamadas y luego dejo mi aplicación inactiva durante unos 10-15 minutos. La primera llamada que hago después de eso devuelve este error.

Probé un par de cosas ...

Configuré el controlador de reintentos como

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

Pero este reintento nunca fue llamado. (Sí, estoy usando la cláusula de ejemplo de derecha). Mientras que la depuración de esta clase nunca se llama.

Incluso traté de configurarHttpProtocolParams.setUseExpectContinue(httpClient.getParams(), false); pero no sirve de nada. ¿Puede alguien sugerir lo que puedo hacer ahora?

IMPORTANTE Además de averiguar por qué obtengo la excepción, una de las preocupaciones importantes que tengo es ¿por qué no está trabajando aquí el retryhandler?

Respuestas a la pregunta(5)

Su respuesta a la pregunta