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

Reply via email to