Hi James

thank you very much for your help. Works like a charm!

Best regards
Gunter

-----Original Message-----
From: James Carman <[email protected]> 
Sent: Mittwoch, 27. März 2019 12:42
To: [email protected]
Subject: Re: Content-Type problem

Have you tried setting the content type directly on your Response?
On Wed, Mar 27, 2019 at 5:44 AM Lange Gunter (ID SWS) < 
[email protected]> wrote:

> Hi
>
> Can anybody help me?
>
> We are using apache-cxf-3.3.1.
>
> I want to intercept JSON Mapping Errors. It goes well but the 
> response’s Content-Type is always XML.
>
> My provider method is:
>
> public class JsonMappingExceptionMapper implements 
> ExceptionMapper<JsonMappingException> {
>
>     private final HashMap<String, ResponsePayload> payloads =
>
> Messages.INSTANCE.getResponsePayloads(this.getClass().getSimpleName())
> ;
>
>     @Override
>     public Response toResponse(JsonMappingException ex) {
>
>         ResponsePayload payload =
> payloads.get("mapping_error").format(ex.getMessage());
>         return
> Response.status(Response.Status.BAD_REQUEST).entity(payload).build();
>     }
> }
>
>
> The Restful Web Service is called with Header Parameter: -H 
> "Content-Type:application/json;charset=UTF-8" -H "Accept:application/json"
>
> As I see in ExceptionUtils.java (line 99)  :
> JAXRSUtils.setMessageContentType(currentMessage, response) the 
> currentMessage contains "Content-Type" -> "application/json;charset=UTF-8"
>
> But then in setMessageContentType()
>
>         if (response != null) {
>             Object ct =
> response.getMetadata().getFirst(HttpHeaders.CONTENT_TYPE);
>
> this information about the currentMessage.Content-Type is not taken 
> into account.
>
> How I'm able to reply with a JSON Response?
>
> Thanks in advanced.
>
> Best regards
> Gunter
>
>

Reply via email to