CXF's Provider service using the payload data-format may not transfer the payload correctly -------------------------------------------------------------------------------------------
Key: CAMEL-3927 URL: https://issues.apache.org/jira/browse/CAMEL-3927 Project: Camel Issue Type: Bug Components: camel-cxf Affects Versions: 2.7.1 Reporter: Aki Yoshida Fix For: 2.8.0 When using the Provider based service (i.e., one using the Provider<Source>'s invoke(Source m) signature), I observed that the payload content is not correctly extracted in the first call. The reason seems to be that the content is passed as a StaxSource instance to the camel's cxf binding component (DefaultCxfBinding) and this expects currently a DOMSource for the payload data format and therefore it not able to extract the payload content. Some more information is described in a related mail thread at camel-user http://camel.465427.n5.nabble.com/Question-on-RemoveClassTypeInterceptor-in-Camel-Cxf-s-Payload-mode-td4358188.html This problem can be reproduced using CxfConsumerProviderTest when this test is executed using the payload data format. I suppose this test should actually be executed in the payload data format mode. But this is currently not the case. So, I am attaching the modified CxfConsumerProviderTest that uses the payload data format. This test will fail with the current trunk camel-cxf implementation. I am also attatching the patch file of the suggested change in DefaultCxfBinding that can resolve this issue and successfully pass this test. I think we can eventually consider a different CxfPayload implementation that does not require a DOM object at all. But for now, I think we can live with this correction to avoid this payload extraction issue. Thanks. Regards, Aki -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira