camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raúl Kripalani (JIRA) <j...@apache.org>
Subject [jira] [Commented] (CAMEL-7246) [cxfrs] SimpleConsumer returns wrong Content-Type
Date Fri, 13 Jun 2014 11:29:03 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-7246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14030519#comment-14030519
] 

Raúl Kripalani commented on CAMEL-7246:
---------------------------------------

Hi [~ay],

The issue lies here:

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.camel/camel-cxf/2.12.0/org/apache/camel/component/cxf/jaxrs/SimpleCxfRsBinding.java#181

The Simple Binding propagates the message headers from Camel into the JAX-RS Response headers.
However, since headers are not contextualised (as I explained above) and they are just "mished-mashed",
the Content-Type from the original requests ends up being propagated back in the response.

The CXF stack then uses this Content-Type to pick the MessageBodyWriter and ends up serialising
the response in the same wireformat as the request, even if the client demanded a different
one with "Accept".

In my opinion there is no black or white solution, nor easy solution. We want to allow users
to set headers in their routes that are sent back to the client, yet this facility is colliding
with Camel's way of dumping all headers in the same place.

For an easy solution out, we could add a parameter to SimpleConsumer: headerPropagationPolicy,
with the following values:
* none => never propagate any headers.
* propagate => apply header filter strategy (today's behaviour).

This parameter allows some level of tuning, and, most importantly, makes the user aware upfront
that if they want to propagate at least 1 header, they will have to configure a header filter
strategy.

[~amarkevich], for now you can solve this issue simply by removing the Content-Type header
before the end of the route.

Regards,
Raúl.

> [cxfrs] SimpleConsumer returns wrong Content-Type
> -------------------------------------------------
>
>                 Key: CAMEL-7246
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7246
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.12.2
>            Reporter: Alexey Markevich
>         Attachments: camel-cxfrs-content-type.zip
>
>
> Looks like Content-Type is taken from request



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message