Apache HttpClient Zwischenfehler: NoHttpResponseException

Ich habe einen Webservice, der eine POST-Methode mit XML akzeptiert. Es funktioniert dann gelegentlich gut, es kann nicht mit dem Server kommunizieren, der IOException mit message auslöstThe target server failed to respond. Die nachfolgenden Anrufe funktionieren einwandfrei.

Es passiert meistens, wenn ich ein paar Anrufe tätige und dann meine Anwendung für etwa 10-15 Minuten im Leerlauf lasse. Der erste Aufruf, den ich danach mache, gibt diesen Fehler zurück.

Ich habe ein paar Dinge ausprobiert ...

Ich richte den Wiederholungs-Handler wie ein

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

Aber dieser Neuversuch wurde nie aufgerufen. (Ja, ich verwende die richtige Instanz der Klausel). Beim Debuggen wird diese Klasse nie aufgerufen.

Ich habe sogar versucht einzurichtenHttpProtocolParams.setUseExpectContinue(httpClient.getParams(), false); aber nützt nichts. Kann jemand vorschlagen, was ich jetzt tun kann?

WICHTIG Abgesehen davon, dass ich herausgefunden habe, warum ich die Ausnahme erleide, ist eines meiner wichtigsten Probleme, warum der Retryhandler hier nicht arbeitet.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage