JBI Support deprecated in Apache ServiceMix 4
JBI 1.0 support is available in Apache ServiceMix 4 to allow existing users to migrate more easily to this latest version - if you're a new user, you should consider JBI deprecated and not use it for your project. Take a look at our technology selection guidelines for more information.
servicemix-cxf-se
Overview
ServiceMix CXF SE component is a JBI Service Engine exposing (annotated) POJO as services on the JBI Bus.
It uses Apache CXF internally to perform service invocations and xml marshaling.
Features:
jsr181 annotations
jaxb2/aegis/xmlbeans databinding
wsdl auto generation
java proxy support
MTOM / attachments support
Namespace and xbean.xml
The namespace URI for the servicemix-bean JBI component is http://servicemix.apache.org/cxfse/1.0. This is an example of an xbean.xml file with a namespace definition with prefix bean.
<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0">
<!-- add cxfse:endpoint definitions here -->
</beans>
Endpoint types
The servicemix-cxf-bc component defines one endpoint type:
cxfse:endpoint :: no description yet
cxfse:endpoint
Endpoint properties
Property Name | Type | Description |
---|---|---|
endpoint | java.lang.String | The name of the endpoint. |
inFaultInterceptors | (java.lang.Object)\* | a list of beans configuring interceptors that process incoming faults |
inInterceptors | (java.lang.Object)\* | a list of beans configuring interceptors that process incoming requests |
interfaceName | javax.xml.namespace.QName | The qualified name of the interface exposed by the endpoint. |
mtomEnabled | boolean | Specifies if the service can consume MTOM formatted binary data. The default is <code>false</code>. |
outFaultInterceptors | (java.lang.Object)\* | a list of beans configuring interceptors that process fault messages being returned to the consumer |
outInterceptors | (java.lang.Object)\* | a list of beans configuring interceptors that process response messages |
pojo | java.lang.Object | a bean configuring the JAX-WS annotated implementation for the endpoint |
pojoEndpoint | javax.xml.namespace.QName | Specifies the servicemodel endpoint name generated from the pojo. The default is <code>null</code>. |
pojoInterfaceName | javax.xml.namespace.QName | Specifies the servicemodel interface name generated from the pojo. The default is <code>null</code>. |
pojoService | javax.xml.namespace.QName | Specifies the servicemodel service name generated from the pojo. The default is <code>null</code>. |
properties | java.util.Map | Specifies a map of properties |
service | javax.xml.namespace.QName | The qualified name of the service the endpoint exposes. |
useAegis | boolean | Specifies if the endpoint use aegis databinding to marshall/unmarshall message. The default is <code>false</code>. |
useJBIWrapper | boolean | Specifies if the endpoint expects to receive the JBI wrapper in the message received from the NMR. The default is <code>true</code>. Ignore the value of useSOAPEnvelope if useJBIWrapper is true |
useSOAPEnvelope | boolean | Specifies if the endpoint expects soap messages when useJBIWrapper is false, if useJBIWrapper is true then ignore useSOAPEnvelope. The default is <code>true</code>. |
useXmlBeans | boolean | Specifies if the endpoint use xmlbeans databinding to marshell/unmarshell message. The default is <code>false</code>. |
cxfbc:proxy
Endpoint properties
Property Name | Type | Description |
---|---|---|
componentRegistry | java.lang.Object | Allows injecting a custom component registry for looking up the proxying endpoint. |
container | org.apache.servicemix.jbi.api.Container | Allows injecting a JBI Container instance (e.g. for testing purposes). |
context | javax.jbi.component.ComponentContext | Allows injecting the ComponentContext |
endpoint | java.lang.String | The name of the endpoint. |
factory | org.apache.servicemix.jbi.api.ClientFactory | Allows injecting a ClientFactory |
interfaceName | javax.xml.namespace.QName | Specifies the servicemodel interface name |
mtomEnabled | boolean | Specifies if the service can consume MTOM formatted binary data. The default is <code>false</code>. |
name | java.lang.String | Specifies the JNDI name for looking up the ClientFactory. Defaults to <code>java:comp/env/jbi/ClientFactory</code>. |
propagateSecuritySubject | boolean | When set to <code>true</code>, the security subject is propagated along to the proxied endpoint. Defaults to <code>false</code>. |
service | javax.xml.namespace.QName | Specifies the servicemodel service name |
type | java.lang.Class | Specifies the webservice POJO type |
useJBIWrapper | boolean | Specifies if the endpoint expects to receive the JBI wrapper in the message received from the NMR. The default is <code>true</code>. Ignore the value of useSOAPEnvelope if useJBIWrapper is true |
useSOAPEnvelope | boolean | Specifies if the endpoint expects soap messages when useJBIWrapper is false, if useJBIWrapper is true then ignore useSOAPEnvelope. The default is <code>true</code>. |