LibraryToggle FramesPrintFeedback

Introduction to the Apache CXF Binding Component

Endpoints being deployed using the Apache CXF binding component are packaged into a service unit. The service unit will container the WSDL document defining the endpoint's interface and a configuration file that sets-up the endpoint's runtime behavior.

Contents of a file component service unit

A service unit that configures the Apache CXF binding component will contain the following artifacts:

xbean.xml

The xbean.xml file contains the XML configuration for the endpoint defined by the service unit. The contents of this file are the focus of this guide.

[Note]Note

The service unit can define more than one endpoint.

WSDL file

The WSDL file defines the endpoint the interface exposes.

Spring configuration file

The Spring configuration file contains configuration for the Apache CXF runtime.

meta-inf/jbi.xml

The jbi.xml file is the JBI descriptor for the service unit. Example 46 shows a JBI descriptor for a Apache CXF binding component service unit.

Example 46. JBI Descriptor for a Apache CXF Binding Component Service Unit

<jbi xmlns="http://java.sun.com/xml/ns/jbi" version="1.0">
  <services binding-component="false" />
</jbi>

For information on using the Maven tooling to package endpoints into a JBI service unit see Appendix C: Using the Maven JBI Tooling.

OSGi Packaging

You can package Apache CXF binding component endpoints in an OSGi bundle. To do so you need to make two minor changes:

  • you will need to include an OSGi bundle manifest in the META-INF folder of the bundle.

  • You need to add the following to your service unit's configuration file:

    <bean class="org.apache.servicemix.common.osgi.EndpointExporter" />
[Important]Important

When you deploy Apache CXF binding component endpoints in an OSGi bundle, the resulting endpoints are deployed as a JBI service unit.

For more information on using the OSGi packaging see Appendix D.

Namespace

The elements used to configure Apache CXF binding component endpoints are defined in the http://servicemix.apache.org/cxfbc/1.0 namespace. You will need to add a namespace declaration similar to the one in Example 47 to your xbeans.xml file's beans element.

Example 47. Namespace Declaration for Using Apache CXF Binding Component Endpoints

<beans ...
       xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
       ... >
  ...
</beans>

In addition, you need to add the schema location to the Spring beans element's xsi:schemaLocation as shown in Example 48.

Example 48. Schema Location for Using Apache CXF Binding Component Endpoints

<beans ...
       xsi:schemaLocation="...
http://servicemix.apache.org/cxfbc/1.0 http://servicemix.apache.org/cxfbc/1.0/servicemix-cxfbc.xsd
...">
  ...
</beans>

Comments powered by Disqus