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.
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 being transported through the WSDL file. The SOAPElement acts as an intermediate form of a SOAP message and the custom data binder is not affected by the raw XML data 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, see Custom binding providers. The topic Usage patterns for deploying custom data binders provides usage patterns and roles for deploying the custom data binders.
To review the Javadoc used for APIs and SPIs, see Reference: Generated API documentation. Follow the instructions in this topic that lead you to the API and SPI interfaces.
You can also review the specifications for the standards and APIs used in developing Web services.
Related reference
CustomBinder interface
Custom binding providers
Usage patterns for deploying custom data binders
WSDL2Java command
Extensions to the JAX-RPC and Web Services for J2EE programming models
Web services: Resources for learning