2010-10-14 73 views
6

Tôi có dịch vụ RESTEasy trả về HTTP 500 khi xảy ra lỗi phía máy chủ. Tôi quản lý để đính kèm một cơ thể để phản ứng HTTP để cung cấp thêm chi tiết về lỗi. Vì vậy, câu trả lời mà đi ra của dịch vụ trông giống như sauPhản hồi HTTP 500 với Thân máy?

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> 

Tôi có một khách hàng (mùa xuân MVC 3,0 REST của khách hàng) và tôi đang cố gắng để nắm bắt HTTP 500 và đọc nội dung của phản ứng và deserialize myErrorEnvelope đối tượng. Lần đầu tiên tôi bắt được RestClientException và nó chính xác cho tôi biết có một phản hồi HTTP 500 nhưng sau đó dường như không có cách nào để lấy Nội dung phản hồi. Đây có phải là điều tôi không thể làm được không? Tôi có phải trả lại đối tượng lỗi làm cơ thể của phản hồi HTTP 200 thay thế không? Tôi thực sự muốn trả lại HTTP 500 với một cơ thể.

Cảm ơn.

Trả lời

7

Bạn đang cố gắng làm điều đúng. Một khung công tác không cho phép bạn tải trọng của một phản hồi không phải 2xx đơn giản là bị hỏng.

Các vấn đề liên quan