2010-10-14 17 views
6

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.

Odpowiedz

7

Próbujesz postąpić właściwie. Struktura, która nie pozwala uzyskać ładunek odpowiedzi niexxx, jest po prostu zepsuta.

Powiązane problemy