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.