Possiedo un servizio RESTEasy che restituisce un HTTP 500 quando si verifica un errore lato server. Riesco a collegare un corpo alla risposta HTTP per fornire maggiori dettagli sull'errore. Quindi la risposta che viene fuori del servizio simile a questaRisposta HTTP 500 con il corpo?
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>
Ho un cliente (Spring MVC cliente 3.0 REST) e sto cercando di catturare l'HTTP 500 e leggere il corpo della risposta e deserializzare il oggetto MyErrorEnvelope. Per prima cosa prendo uno spunto RestClientException e correttamente mi dice che c'era una risposta HTTP 500 ma poi non sembra esserci alcun modo per ottenere il corpo della risposta. È qualcosa che non dovrei essere in grado di fare? Devo restituire l'oggetto error come corpo di una risposta HTTP 200, invece? Mi piacerebbe davvero restituire HTTP 500 con un corpo.
Grazie.