Custom data binders for JAX-RPC applications
A custom data binder is used to map XML schema types with Java™ objects. Custom data binders provide bindings for XML schema types that are not supported by the current Java API for XML-based Remote Call Procedure (JAX-RPC) specification.
- The runtime system recognizes the <sdo:Datagraph> code.
- The run time queries the type mapping system to locate the custom data binder for the datagraph data, for example SDOCustomBinder.
- A SOAPElement is created that represents the incoming SDO datagraph.
- The run time passes the SOAPElement to the SDOCustomBinder.

When a Java object is serialized, a similar process occurs. The run time locates a custom data binder and converts the Java object to a SOAPElement. The runtime serializes the SOAPElement to the raw message that is transported in the output stream.
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sdo="commonj.sdo"
targetNamespace="commonj.sdo">
<xsd:element name="datagraph" type="sdo:DataGraphType"/>
<xsd:complexType name="DataGraphType">
<xsd:complexContent>
<xsd:extension base="sdo:BaseDataGraphType">
<xsd:sequence>
<xsd:any minOccurs="0" maxOccurs="1"
namespace="##other" processContents="lax"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="BaseDataGraphType" abstract="true">
<xsd:sequence>
<xsd:element name="models" type="sdo:ModelsType" minOccurs="0"/>
<xsd:element name="xsd" type="sdo:XSDType" minOccurs="0"/>
<xsd:element name="changeSummary"
type="sdo:ChangeSummaryType" minOccurs="0"/>
</xsd:sequence>
<xsd:anyAttribute namespace="##other" processContents="lax"/>
</xsd:complexType>
<xsd:complexType name="ModelsType">
<xsd:sequence>
<xsd:any minOccurs="0" maxOccurs="unbounded"
namespace="##other" processContents="lax"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="XSDType">
<xsd:sequence>
<xsd:any minOccurs="0" maxOccurs="unbounded"
namespace="http://www.w3.org/2001/XMLSchema" processContents="lax"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ChangeSummaryType">
<xsd:sequence>
<xsd:any minOccurs="0" maxOccurs="unbounded"
namespace="##any" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="create" type="xsd:string"/>
<xsd:attribute name="delete" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>
WebSphere® Application Server defines the CustomBinder interface that implements concrete custom bindings for a specific XML schema type.
The custom binding provider is used to import the custom bindings into the run time. To learn how to plug your custom data binders into the WSDL2Java command-line tool for development, read about custom binding providers. You can also read about usage patterns for deploying custom data binders to learn more about how to deploy the provider package to your runtime, as well as the roles involved in the custom binding process.