[
https://issues.apache.org/jira/browse/CAMEL-7246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14030569#comment-14030569
]
Aki Yoshida commented on CAMEL-7246:
------------------------------------
Hi Sergey,
for SimpleBinding has the following response transfer code
public Object populateCxfRsResponseFromExchange(org.apache.camel.Exchange
camelExchange, Exchange cxfExchange) throws Exception {
Object base = super.populateCxfRsResponseFromExchange(camelExchange,
cxfExchange);
return buildResponse(camelExchange, base);
}
and this buildResponse(…) is making the difference in the behavior.
This buildResponse takes the plain response into a javax.ws.rs.core.Response
using cxf's ResponseBuilder. Additionally, it is adding all the external
headers like content-length (unless they are blocked by the header-stragety) to
the builder. And this leads to those headers being later directly serialized
into the response message.
So, I am wondering two things.
1. do we need this header insertion part there if it is not there in the
default binding? (or at least setting the content-length there does not make
sense when setting the content entity that doesn't match the content length).
2. if the headers are supposed to be added for SimpleBinding, can we do the
consistency check in CXF to avoid this issue? In other words, what would be the
desired behavior in the following case.
You are doing a plain cxf jaxrs without camel and building a response using the
ResponseBuilder and inconsistently setting some properties, as
builder.entity("foo");
…
builder.header("Content-Length", "9")
…
builder.build()
Should this inconsistency be recognized in the builder itself to correct it and
produce a consistent Response object?
regards, aki
> [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)