2 Replies Latest reply on Jan 30, 2008 3:08 PM by Guillaume Nodet

    CXF BC/SE Coupling

    Patrick Mulligan Newbie

       

      In 3.3.0.6, can you mix the CXF SE with the HTTP BC? Is the CXF BC/SE tightly coupled?

       

      There was some talk about the CXF BC/SE being tightly coupled. At first I was thinking this was due to the use of JAXB in CXF versus XFire in 181 for instance. However, if the ME is getting the XML, that would mean that the marshaling by JAXB is taking place in the SE, perhaps removing any tight coupling?

        • 1. Re: CXF BC/SE Coupling
          Bruce Snyder Novice

           

          In 3.3.0.6, can you mix the CXF SE with the HTTP BC? Is the CXF BC/SE tightly coupled?

           

          There was some talk about the CXF BC/SE being tightly coupled. At first I was thinking this was due to the use of JAXB in CXF versus XFire in 181 for instance. However, if the ME is getting the XML, that would mean that the marshaling by JAXB is taking place in the SE, perhaps removing any tight coupling?

           

           

          The servicemix-http component will handle SOAP but is not fully SOAP compliant whereas the servicemix-cxf-bc is fully SOAP compliant. There's no tight coupling but if you want SOAP compliance you will need to use the servicemix-cxf-bc.

           

          The current state of HTTP support in ServiceMix is rather confusing because of the way ServiceMix needed to support various use cases over time. We are currently starting to discuss the best way to consolidate the various use cases into a single JBI compliant HTTP component in SM-1169. See that issue for more details.

           

          Bruce

          • 2. Re: CXF BC/SE Coupling
            Guillaume Nodet Newbie

            The important point is that CXF based component use a wrapper around the soap message that is define in the spec.

            By default, servicemix-http and servicemix-jms do not use this wrapper, so in effect the components can not easily be used together.

            However the new endpoints use the jbi wrapper too:

                

            <jms:soap-consumer ... />
            

             

            or

             

            <http:soap-consumer ... />