[
https://issues.apache.org/jira/browse/CAMEL-12575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris Ribble updated CAMEL-12575:
---------------------------------
Description:
This commit
[https://github.com/apache/camel/commit/e4ad40f2eebb68cfde175b171538e26b278f63f6]
modified DefaultCxfRsBinding.populateCxfRsResponseFromExchange in a way that
causes an NPE on line #116 when a GET request is made with the Content-Type
header set. Since Camel copies the request headers into the response, this
causes the check for Content-Type to find the header and the code after that
assumes that cxfExchange.getOutMessage() is non-null.
I can work around this by asking clients not to send the Content-Type header
(which is generally meaningless for a GET), but I cannot force them not to send
it. I think I can also add header filtering before the endpoint is executed to
strip the Content-Type header for GET requests, but ideally
DefaultCxfRsBinding.populateCxfRsResponseFromExchange would not call
cxfExchange.getOutMessage().putIfAbsent if getOutMessage returns null.
was:
This commit
[https://github.com/apache/camel/commit/e4ad40f2eebb68cfde175b171538e26b278f63f6]
modified DefaultCxfRsBinding.populateCxfRsResponseFromExchange in a way that
causes an NPE on line #116 when a GET request is made with the Content-Type
header set (which is copied into the response).
I can work around this by asking clients not to send the Content-Type header
(which is generally meaningless for a GET) and/or by adding header filtering
before the endpoint is executed, but ideally this code would not call
cxfExchange.getOutMessage().putIfAbsent if getOutMessage returns null so that
the NPE would not be triggered.
> camel-cxfrs: NPE on GET request with Content-Type header
> --------------------------------------------------------
>
> Key: CAMEL-12575
> URL: https://issues.apache.org/jira/browse/CAMEL-12575
> Project: Camel
> Issue Type: Bug
> Components: camel-cxfrs
> Affects Versions: 2.21.1
> Reporter: Chris Ribble
> Priority: Major
>
> This commit
> [https://github.com/apache/camel/commit/e4ad40f2eebb68cfde175b171538e26b278f63f6]
> modified DefaultCxfRsBinding.populateCxfRsResponseFromExchange in a way that
> causes an NPE on line #116 when a GET request is made with the Content-Type
> header set. Since Camel copies the request headers into the response, this
> causes the check for Content-Type to find the header and the code after that
> assumes that cxfExchange.getOutMessage() is non-null.
> I can work around this by asking clients not to send the Content-Type header
> (which is generally meaningless for a GET), but I cannot force them not to
> send it. I think I can also add header filtering before the endpoint is
> executed to strip the Content-Type header for GET requests, but ideally
> DefaultCxfRsBinding.populateCxfRsResponseFromExchange would not call
> cxfExchange.getOutMessage().putIfAbsent if getOutMessage returns null.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)