Apache CXF 2.3 added support for the Tuscany implementation of Service Data Objects as alternative data binding. Note that this data-binding has been removed from Apache CXF 3.2.0 onwards, as the Apache Tuscany project has been retired to the attic.

Setup

By default, CXF does not ship with the Tuscany SDO jars. You will need to acquire them elsewhere and add them to the classpath for the SDO databinding to work. The list of required jars are:

backport-util-concurrent-3.0.jar
codegen-2.2.3.jar
codegen-ecore-2.2.3.jar
common-2.2.3.jar
ecore-2.2.3.jar
ecore-change-2.2.3.jar
ecore-xmi-2.2.3.jar
tuscany-sdo-api-r2.1-1.1.1.jar
tuscany-sdo-impl-1.1.1.jar
tuscany-sdo-lib-1.1.1.jar
tuscany-sdo-tools-1.1.1.jar
xsd-2.2.3.jar

Code Generation

If all the SDO required jars are available (by default, CXF does not ship them, see above), wsld2java tool can be run with the -db sdo flag to have the code generator emit SDO objects instead of the default JAXB objects. The generated SEI interface will have @DataBinding(org.apache.cxf.sdo.SDODataBinding.class) annotation on it which is enough to configure the runtime to know to use SDO.