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
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.
|Assignee||William Tam [ wtam ]|
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Resolution||Fixed [ 1 ]|
|Fix Version/s||2.7.3 [ 12316520 ]|
|Status||Resolved [ 5 ]||Closed [ 6 ]|