CxfPayloadConverter may start failing to convert a CxfPayload to a Node
-----------------------------------------------------------------------
Key: CAMEL-3917
URL: https://issues.apache.org/jira/browse/CAMEL-3917
Project: Camel
Issue Type: Bug
Components: camel-cxf
Affects Versions: 2.7.1
Reporter: Aki Yoshida
Fix For: 2.8.0
There is an issue with CxfPayloadConverter that can lead to a failure in
converting the CxfPayload into something which is actually convertible.
This problem happens when you try to convert a CxfPayload instance that has an
empty body list into a Node instance. This returns null and subsequently
registers this type mapping key (CxfPayload->Node) in
org.apache.camel.impl.converter.BaseTypeConverterRegistry's conversion-misses
table. Because of this, a subsequent conversion using a CxfPayload instance
with an non empty body list will permanently fail.
I am attaching a modified CxfPayloadConversionTest that includes
testCxfPayloadToNode that illustrates this problem. Currently, the last
assertion of this test is failing when this issue is present.
I think we can fix this problem by returning Void.TYPE instead of a null for
this case.
In this way, the conversion is regarded as a success and there will be no entry
in the conversion-misses table.
So, I am also attaching the modiefied CxfPayloadConverter class that can handle
this test case.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira