Camel
  1. Camel
  2. CAMEL-3927

CXF's Provider service using the payload data-format may not transfer the payload correctly

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.7.1
    • Fix Version/s: 2.7.3, 2.8.0
    • Component/s: camel-cxf
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      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

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        3h 56m 1 William Tam 02/May/11 15:37
        Resolved Resolved Closed Closed
        175d 19h 58m 1 Daniel Kulp 25/Oct/11 11:35
        Daniel Kulp made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Daniel Kulp made changes -
        Fix Version/s 2.7.3 [ 12316520 ]
        William Tam made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        William Tam added a comment -

        Committed revision 1098630. Thanks Aki Yoshida for the Jira and the patch.

        Show
        William Tam added a comment - Committed revision 1098630. Thanks Aki Yoshida for the Jira and the patch.
        William Tam made changes -
        Assignee William Tam [ wtam ]
        Akitoshi Yoshida made changes -
        Field Original Value New Value
        Attachment camel-cxf-20110429b-patch.txt [ 12477943 ]
        Hide
        Akitoshi Yoshida added a comment -

        M trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerProviderTest.java
        M trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java

        Show
        Akitoshi Yoshida added a comment - M trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerProviderTest.java M trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
        Akitoshi Yoshida created issue -

          People

          • Assignee:
            William Tam
            Reporter:
            Akitoshi Yoshida
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 2h
              2h
              Remaining:
              Remaining Estimate - 2h
              2h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development