Auslösen von ResourceAccessException gegen HttpClientErrorException für RestTemplate-Client im Frühjahr

8

Mit Spring 4.3.1 unter Apache Tomcat 8.5 haben wir einen REST-Server implementiert, der GET, POST & amp; Anfragen stellen Die POST-Anforderung wird in folgendem Format behandelt:

%Vor%

Bei der Verarbeitung der POST-Anforderung auf der Serverseite wird die WebApplicationException ausgelöst, die wie folgt behandelt wird:

%Vor%

Auf der Clientseite:

%Vor%

Die ResourceAccessException wird ausgelöst:

%Vor%
  

Frage:

Warum wird die Ausnahme org.springframework.web.client.ResourceAccessException ausgelöst, aber nicht org.springframework.web.client.HttpClientErrorException , was passiert bei der Verarbeitung der GET-Anfrage, wenn WebApplicationException auftritt?

Die Ausnahme ResourceAccessException hat keine Methoden, mit denen ich den HTTP-Status lesen kann, zB getRawStatusCode () , getResponseHeaders() , etc.

    
Marcin 25.07.2017, 14:10
quelle

1 Antwort

1

Weil es ein IOException umschließt, ohne den eigentlichen Antwortcode zu betrachten.

Die Ursache scheint darin zu liegen, dass BufferingClientHttpResponseWrapper versucht, einen Body zu lesen, ohne zu prüfen, ob es einen ersten gibt.

    
OrangeDog 25.07.2017 14:18
quelle

Tags und Links