Wie kann ich den tatsächlichen Fehler hinter HttpResponseException bekommen?

8

Ich verwende Apache HttpComponents Client, um einen POST an einen Server zu senden, der JSON zurückgibt. Das Problem ist, dass, wenn der Server einen Fehler von 400 zurückgibt, ich keine Möglichkeit habe zu sagen, was der Fehler von Java war (musste bisher auf einen Paket-Sniffer zurückgreifen - lächerlich). Hier ist der Code:

%Vor%

Was mache ich falsch? Es muss eine einfache Möglichkeit geben, die Nachricht eines 400-Fehler zu erhalten. Dies ist elementar.

    
Dan Dascalescu 29.09.2009, 02:49
quelle

2 Antworten

12

Warum verwenden Sie BasicResponseHandler ()? Der Hundeführer macht das für Sie. Dieser Handler ist nur ein Beispiel und sollte nicht in echtem Code verwendet werden.

Sie sollten entweder einen eigenen Handler schreiben oder ohne einen Handler ausführen.

Zum Beispiel

%Vor%     
ZZ Coder 29.09.2009, 05:18
quelle
1

responseBody wird immer null sein, wenn beim Zuweisen eines Werts eine Ausnahme ausgelöst wird.

Außerdem ist es das spezifische Verhalten der Implementierung - zB Apache HttpClient.

Es sieht so aus, als ob es (offensichtlich) keine der detaillierten Informationen in der Ausnahme enthält.

Ich würde den Quellcode für HttpClient laden und das debuggen.

aber zuerst prüfen, ob es etwas in der e.getCause () ...

gibt

hoffe das hilft.

    
pstanton 29.09.2009 03:16
quelle

Tags und Links