Mam usługę RESTEasy, która zwraca HTTP 500 po wystąpieniu błędu po stronie serwera. Udaje mi się dołączyć ciało do odpowiedzi HTTP, aby podać więcej szczegółów na temat błędu. Więc odpowiedź, która wychodzi z serwisu wyglądać takOdpowiedź HTTP 500 z treścią?
HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Content-Type: application/xml;charset=ISO-8859-1
Content-Language: en-US
Content-Length: 3251
Date: Thu, 14 Oct 2010 23:22:49 GMT
Connection: close
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><myErrorEnvelope><internalCode>123</internalCode><description>error details</description></myErrorEnvelope>
Mam klienta (wiosna MVC klient 3,0 REST) i staram się uchwycić HTTP 500 i odczytać treść odpowiedzi i deserializacji obiekt myErrorEnvelope. Najpierw łapię połówkę RestClientException i poprawnie mówi mi, że była odpowiedź HTTP 500, ale potem wydaje się, że nie ma sposobu na uzyskanie Ciała odpowiedzi. Czy to coś, czego nie powinienem był robić? Czy mam zamiast tego zwrócić obiekt błędu jako treść odpowiedzi HTTP 200? Naprawdę wolałbym zwrócić HTTP 500 z ciałem.
Dzięki.