Endpoints being deployed using the Fuse Service Framework 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.
A service unit that configures the Fuse Service Framework 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 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 Fuse Service Framework runtime.
meta-inf/jbi.xml
The
jbi.xml
file is the JBI descriptor for the service unit. Example 8.1 shows a JBI descriptor for a Fuse Service Framework binding component service unit.Example 8.1. JBI Descriptor for a Fuse Service Framework 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.
You can package Fuse Service Framework 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 |
---|---|
When you deploy Fuse Service Framework 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.
The elements used to configure Fuse Service Framework 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 8.2 to your xbeans.xml
file's beans
element.
Example 8.2. Namespace Declaration for Using Fuse Service Framework 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 8.3.
Example 8.3. Schema Location for Using Fuse Service Framework Binding Component Endpoints
<beans ...
xsi:schemaLocation="...
http://servicemix.apache.org/cxfbc/1.0 http://servicemix.apache.org/cxfbc/1.0/servicemix-cxfbc.xsd
...">
...
</beans>