Utilización de las herramientas JAXB xjc para generar clases JAXB a partir de un archivo de esquema XML

Utilice las herramientas JAXB (arquitectura Java para enlaces XML) xjc para compilar un archivo de esquema XML en clases Java totalmente anotadas.

Antes de empezar

Desarrolle u obtenga un archivo de esquema XML.

Acerca de esta tarea

Utilices las herramientas y las API de JAXB para establecer correlaciones entre un esquema XML y clases Java. Los esquemas XML describen los elementos de datos y las relaciones de un documento XML. Después de un enlace o una correlación de datos, puede convertir documentos XML en objetos Java, y viceversa. Ahora puede acceder a datos almacenados en un documento XML sin la necesidad de comprender la estructura de los datos.

Para desarrollar servicios web utilizando un enfoque de desarrollo descendente a partir de un archivo WSDL (Web Services Description Language) existente, utilice la herramienta wsimport para generar los artefactos para las aplicaciones JAX-WS (API de Java para servicios web XML) al empezar con un archivo WSDL. Tras generar los artefactos Java para la aplicación, puede generar clases Java totalmente anotadas a partir de un archivo de esquema XML utilizando la herramienta de la línea de mandatos del compilador de esquemas de JAXB, xjc. Las clases Java anotadas resultantes contienen toda la información necesaria que requiere el tiempo de ejecución de JAXB para analizar el XML para clasificar y desclasificar. Puede utilizar las clases JAXB resultantes en aplicaciones JAX-WS (API de Java para servicios web XML) u otras aplicaciones Java para procesar datos XML.

Best practice Best practice: WebSphere Application Server proporciona la API Java™ para servicios web basados en XML (JAX-WS) y las herramientas de arquitectura Java para enlaces XML (JAXB). Las herramientas de línea de mandatos wsimport, wsgen, schemagen y xjc se encuentran en el directorio raíz_servidor_aplicaciones\bin\ de WebSphere Application Server tradicional. Los mandatos xjc y schemagen se encuentran en el directorio raíz_servidor_aplicaciones\jaxb\bin\ del perfil Liberty. En algunas ocasiones, los artefactos generados por las herramientas que proporcionan WebSphere Application Server y JDK dan soporte a los mismos niveles de las especificaciones. En general, los artefactos generados por las herramientas JDK tienen portabilidad en otros entornos de ejecución compatibles. Sin embargo, es más recomendable utilizar las herramientas que se proporcionan con este producto para alcanzar una integración sin interrupciones dentro del entorno de WebSphere Application Server y aprovechar las características que puedan estar soportadas únicamente en WebSphere Application Server. Para aprovechar las herramientas de JAX-WS y JAXB V2.2, utilice las herramientas que se proporcionan con el servidor de aplicaciones y que se encuentran en el directorio raíz_servidor_aplicaciones\bin\.bprac
Supported configurations Supported configurations: Este producto da soporte a la especificación JAXB 2.2. JAX-WS 2.2 requiere JAXB 2.2 para el enlace de datos. sptcfg

Además de utilizar la herramienta xjc desde la línea de mandatos, puede invocar esta herramienta JAXB desde entornos de compilación Ant. Utilice la tarea de Ant com.sun.tools.xjc.XJCTask desde el entorno de compilación Ant para invocar la herramienta del generador de esquemas xjc. Para que funcione debidamente, esta tarea Ant requiere que se invoque Ant mediante el script ws_ant.

Avoid trouble Avoid trouble: Si está utilizando la tarea Ant xjc, debe utilizar el parámetro destdir para especificar el directorio de destino en lugar de la opción target. Si se especifica la opción target cuando se utiliza la tarea Ant xjc se produce un error. gotcha

Procedimiento

  1. Utilice el mandato del compilador de esquemas JAXB, xjc, para generar clases Java anotadas para JAXB. El compilador de esquemas se encuentra en el directorio raíz_servidor_aplic\bin\. El compilador de esquemas genera un conjunto de paquetes que contiene archivos de origen Java y archivos de propiedad JAXB según las opciones de enlace utilizadas para la compilación.
  2. (Opcional) Utilice las declaraciones de enlace personalizadas para cambiar las correlaciones JAXB predeterminadas. Defina declaraciones de enlace ya sea en el archivo de esquema XML o en un archivo de enlaces separado. Puede pasar archivos de enlaces personalizados utilizando la opción -b con el mandato xjc.
  3. Compile los objetos JAXB generados. Para compilar artefactos generados, añada el cliente ligero para JAX-WS con WebSphere Application Server a la vía de acceso de clases.

Resultados

Ahora que ha generado objetos JAXB, puede escribir aplicaciones Java utilizando los objetos JAXB generados y manipular el contenido XML a través de las clases JAXB generadas.

Ejemplo

En el ejemplo siguiente se muestra cómo las herramientas JAXB pueden generar clases Java, cuando se empieza con un archivo de esquema XML existente.
  1. Copie el archivo de esquema siguiente bookSchema.xsd a un directorio temporal.
      <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">                                          
         <xsd:element name="CatalogData">                                                               
           <xsd:complexType >                                                                         
             <xsd:sequence>                                                                         
               <xsd:element name="books" type="bookdata" minOccurs="0" 
    						maxOccurs="unbounded" />
             </xsd:sequence>                                                                        
           </xsd:complexType>                                                                         
         </xsd:element>                                                                                 
         <xsd:complexType name="bookdata">                                                              
           <xsd:sequence>                                                                             
             <xsd:element name="author" type="xsd:string"/>                                         
             <xsd:element name="title" type="xsd:string"/>                                          
             <xsd:element name="genre" type="xsd:string"/>                                          
             <xsd:element name="price" type="xsd:float"/>                                           
             <xsd:element name="publish_date" type="xsd:dateTime"/>                                 
             <xsd:element name="description" type="xsd:string"/>                                    
           </xsd:sequence>                                                                            
           <xsd:attribute name="id" type="xsd:string"/>                                               
         </xsd:complexType>                                                                             
       </xsd:schema>        
  2. Abra un indicador de mandatos.
  3. Ejecute el mandato del compilador de esquemas JAXB, xjc, desde el directorio donde se encuentra el archivo de esquema. La herramienta del compilador de esquemas xjc se encuentra en el directorio raíz_servidor_aplic\bin\.
    [Windows]
    raíz_servidor_apl\bin\xjc.bat
    bookSchema.xsd
    [Linux][AIX][HP-UX][Solaris]
    raíz_servidor_apl/bin/xjc.sh
    bookSchema.xsd
    La ejecución del mandato xjc genera los archivos Java JAXB siguientes:
    generated\Bookdata.java
    generated\CatalogdData.java
    generated\ObjectFactory.java
  4. Utilice los objetos JAXB generados en una aplicación Java para manipular el contenido XML a través de las clases JAXB generadas.

Consulte la documentación de la implementación de la referencia JAXB, si desea información adicional sobre el mandato xjc.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxbschema2java
File name: twbs_jaxbschema2java.html