HTTP 500 Response with Body?

У меня есть служба RESTEasy, которая возвращает HTTP 500 при возникновении ошибки на стороне сервера. Мне удалось прикрепить тело к HTTP-ответу, чтобы подробнее рассказать об ошибке. Таким образом, ответ службы выглядит примерно так

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>

У меня есть клиент (клиент Spring MVC 3.0 REST), и я пытаюсь захватить HTTP 500, прочитать тело ответа и десериализовать myErrorEnvelope объект. Сначала я ловлю ловушку RestClientException , и она правильно сообщает мне, что был ответ HTTP 500, но тогда, похоже, нет способа получить тело ответа. Разве я не должен этого делать? Должен ли я вместо этого возвращать объект ошибки как тело ответа HTTP 200? Я бы предпочел вернуть HTTP 500 с телом.

Спасибо.

11
задан pastafarian 14 October 2010 в 23:40
поделиться