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>.