h2. servicemix-cxf-bc
h3. Overview
A JBI compliant HTTP/SOAP or JMS/SOAP binding component named servicemix-cxf-bc which use apache cxf internally.
The main features are:
* JBI compliant Binding Component
* Usable in a lightweight mode in servicemix.xml configuration files
* SOAP 1.1 and 1.2 support
* MIME attachments
* Support for all MEPs as consumers or providers
* SSL support
* WS-Security support
* WS-Policy support
* WS-RM support
* WS-Addressing support
h4. Namespace and xbean.xml
The namespace URI for the servicemix-bean JBI component is {{http://servicemix.apache.org/cxfbc/1.0}}. This is an example of an {{xbean.xml}} file with a namespace definition with prefix {{bean}}.
{pygmentize:lang=xml}
{pygmentize}
h4. Endpoint types
The servicemix-cxf-bc component defines two endpoints:
- {{cxfbc:consumer}} :: a server-side cxf endpoint that will consume plain HTTP+SOAP requests and send them into the NMR to a given JBI endpoint
- {{cxfbc:provider}} :: a client-side jbi endpoint which can receive requests from the NMR and send them to a given url where the service is provided
h3. {{cxfbc:consumer}}
h4. Endpoint properties
{include:jbi/components/_servicemix-cxf-bc-consumer.conf}
h3. {{cxfbc:provider}}
h4. Endpoint properties
{include:jbi/components/_servicemix-cxf-bc-provider.conf}
h3. Examples
h4. Configuring the CXF JMS Transport
The ServiceMix CXF binding component also allows using the CXF JMS Transport to send and receive messages. You can use the *{{}}* element to add and configure the {{org.apache.cxf.transport.jms.JMSConfigFeature}} on the endpoint, as in the example below.
{pygmentize:lang=xml}
5
test.jmstransport.text.provider
false
{pygmentize}
The {{jms_conduit_config.xml}} file specified in the {{busCfg}} parameter, is optional and can be used to specify additional JMS transport parameters:
{pygmentize:lang=xml}
{pygmentize}
h4. Configuring the CXF HTTP Transport
In order to configure the underlying HTTP transport used by a CXF BC endpoint, you can specify an additional {{busCfg}} file as in the example below.
{pygmentize:lang=xml}
{pygmentize}
The {{http_conduit_config.xml}} file can then specify the additional CXF configuration. Have a look at [this page|http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html] for an overview of all the options supported by CXF.
{pygmentize:lang=xml}
{pygmentize}