JAXB

Java™ Architecture for XML Binding (JAXB), which is also known as JSR-222, is a Java technology that provides an easy and convenient way to map Java classes and XML schema for simplified development of Web services. JAXB leverages the flexibility of platform-neutral XML data in Java applications to bind XML schema to Java applications without requiring extensive knowledge of XML programming. The tools included in this workbench implement JAXB 2.0 and 2.1 standards.

JAXB is an XML to Java binding technology that supports transformation between schema and Java objects and between XML instance documents and Java object instances. JAXB consists of a runtime application programming interface (API) and accompanying tools that simplify access to XML documents. JAXB also helps to build XML documents that both conform and validate to the XML schema. The application server supports the W3C XML Schema as defined in the XML Schema 1.0 Recommendation (XSD Part 1 and 2).

JAXB-annotated classes and artifacts contain all the information needed by the JAXB runtime API to process XML instance documents. The JAXB runtime API supports marshaling JAXB objects to XML and unmarshaling the XML document back to JAXB class instances. Optionally, you can use JAXB to provide XML validation to enforce both incoming and outgoing XML documents to conform to the XML constraints defined within the XML schema.

JAXB is the default data binding technology that the Java API for XML Web Services (JAX-WS) tooling uses and is the default implementation within this product. You can develop JAXB objects for use within JAX-WS applications.

WebSphere® Application Server Version 7.0 supports the JAXB 2.1 specification. JAX-WS 2.1 requires JAXB 2.1 for data binding. JAXB 2.1 provides enhancements such as improved compilation support and support for the @XMLSeeAlso annotation, and full schema 1.0 support. With JAXB 2.1, you can configure the xjc schema compiler so that it does not automatically generate new classes for a particular schema. Similarly, you can configure the schemagen schema generator to not automatically generate a new schema. This enhancement is useful when you are using a common schema and you do not want a new schema generated. JAXB 2.1 also introduces the @XMLSeeAlso annotation that enables JAXB to bind additional Java classes that it might not otherwise know about when binding a Java class with this annotation. This annotation enables JAXB to know about all classes that are potentially involved in marshalling or unmarshalling as it is not always possible or practical to list all of the subclasses of a given Java class. JAX-WS 2.1 also supports the use of the @XMLSeeAlso annotation on a service endpoint interface (SEI) or on a service implementation bean to ensure all of the classes referenced by the annotation are passed to JAXB for processing.

For additional information refer to the official JSR-222 specification: JSR-222: Java Architecture for XML Binding (JAXB) 2.0

 

Related concepts

JAX-WS

IBM WebSphere JAX-WS runtime environment

Web services runtime environments

Web Services: What's new in this release

Web Services Description Language (WSDL)

SOAP

SOAP MTOM

Universal Description, Discovery, and Integration (UDDI)

Web Services Inspection Language (WSIL)

JAX-RPC (JSR 101)

JSR 109 and JSR 921

Using annotations to create Web services

 

Related tasks

Creating a JAX-WS enabled WebSphere server

Creating a JAX-WS enabled dynamic Web project

Creating a Web service and Java bean skeleton from WSDL

Creating a Web service from a Java bean

Generating a Java client proxy from a WSDL document using the IBM WebSphere JAX-WS runtime environment

Setting Web services preferences