Utilisation des outils xjc JAXB pour générer des classes JAXB à partir d'un fichier de schéma XML

Utilisez les outils xjc JAXB pour compiler un fichier de schéma XML dans des classes Java annotées.

Avant de commencer

Développez ou obtenez un fichier de schéma XML.

Pourquoi et quand exécuter cette tâche

Utilisez les outils et API JAXB pour établir des mappages entre un schéma XML et des classes Java. Les schémas XML décrivent les éléments de données et les relations dans un document XML. Une fois qu'il existe une liaison ou un mappage de données, vous pouvez convertir des documents XML à partir d'objets Java ou en objets Java. Vous pouvez maintenant traiter les données stockées dans un document XML sans qu'il soit nécessaire de comprendre la structure des données.

Pour développer des services Web à l'aide d'une approche descendante à partir d'un fichier WSDL (Web Services Description Language) existant, utilisez l'outil wsimport afin de générer les artefacts pour vos applications JAX-WS. Une fois que les artefacts Java pour votre application sont générés, vous pouvez générer des classes Java annotées à partir d'un fichier de schéma XML en utilisant le compilateur de schéma JAXB, outil de ligne de commande xjc. Les classes Java annotées en résultant contiennent toutes les informations nécessaires requises par l'environnement d'exécution JAXB pour analyser les éléments pour la conversion et la déconversion. Vous pouvez utiliser les classes JAXB en résultant dans des applications JAX-WS ou dans d'autres applications Java pour le traitement des données XML.

Pratiques recommandées Pratiques recommandées: WebSphere Application Server fournit des outils JAX-WS (Java™ API for XML-Based Web Services) et JAXB (Java Architecture for XML Binding). Les outils de ligne de commande wsimport, wsgen, schemagen et xjc se trouvent dans le répertoire app_server_root\bin\ de WebSphere Application Server Traditional.Les commandes xjc et schemagen se trouvent dans le répertoire app_server_root\jaxb\bin\ du profil Liberty. Il peut arriver que les artefacts générés par les outils fournis par WebSphere Application Server et le kit de développement Java SE prennent en charge les mêmes niveaux de spécifications. En général, les artefacts générés par les outils JDK sont compatibles avec d'autres environnements d'exécution conformes. Toutefois, il est recommandé d'utiliser les outils fournis avec ce produit pour effectuer une intégration transparente au sein de l'environnement WebSphere Application Server et pour bénéficier des fonctions qui peuvent être prises en charge uniquement dans WebSphere Application Server. Pour profiter des outils JAX-WS et JAXB V2.2, utilisez les outils fournis avec le serveur d'applications qui se trouvent dans le répertoire racine_serveur_app\bin\.bprac
Configurations prises en charge Configurations prises en charge: Le produit prend en charge la spécification JAXB 2.2. JAX-WS 2.2 requiert JAXB 2.2 pour la liaison des données. sptcfg

Outre l'utilisation de l'outil xjc à partir de la ligne de commande, vous pouvez appeler cet outil JAXB à partir des environnements de génération Ant. Utilisez la tâche Ant com.sun.tools.xjc.XJCTask à partir de l'environnement de génération Ant pour appeler l'outil de compilation de schéma xjc. Pour fonctionner correctement, la tâche Ant doit être appelée par le script ws_ant.

Eviter les incidents Eviter les incidents: Si vous utilisez la tâche Ant xjc, vous devez utiliser le paramètre destdir pour définir le répertoire de destination à la place de l'option target. L'utilisation de l'option target avec la tâche Ant xjc génère une erreur. gotcha

Procédure

  1. Utilisez le compilateur de schéma JAXB, commande xjc pour générer des classes Java annotées JAXB. Le compilateur de schéma se trouve dans le répertoire racine_serveur_app\bin\. Le compilateur de schéma génère un ensemble de packages contenant les fichiers source Java et les fichiers de propriétés JAXB en fonction des options de liaison utilisées pour la compilation.
  2. (Facultatif) Utilisez des déclarations de liaison personnalisées pour changer les mappages JAXB par défaut. Définissez des déclarations de liaison dans le fichier schéma XML ou dans un fichier de liaisons distinct. Vous pouvez transmettre des fichiers de liaison personnalisés en utilisant l'option -b avec la commande xjc.
  3. Compilez les objets JAXB générés. Pour compiler les artefacts générés, ajoutez au chemin d'accès aux classes Thin Client for JAX-WS avec WebSphere Application Server.

Résultats

Maintenant que vous avez généré des objets JAXB, vous pouvez écrire des applications Java à l'aide d'objets JAXB générés et manipuler le contenu XML via les classes JAXB générées.

Exemple

L'exemple suivant illustre comment les outils JAXB peuvent générer des classes Java lors du démarrage avec un fichier de schéma XML existant.
  1. Copiez le fichier de schéma bookSchema.xsd dans un répertoire temporaire.
      <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. Ouvrez une invite de commande.
  3. Exécutez le compilateur de schéma JAXB, commande xjc dans le répertoire où se trouve le fichier schéma. L'outil de compilateur de schéma xjc se trouve dans le répertoire racine_serveur_app\bin\.
    [Windows]
    app_server_root\bin\xjc.bat bookSchema.xsd
    [Linux][AIX][HP-UX][Solaris]
    app_server_root/bin/xjc.sh bookSchema.xsd
    L'exécution de la commande xjc génère les fichiers Java JAXB suivants :
    generated\Bookdata.java
    generated\CatalogdData.java
    generated\ObjectFactory.java
  4. Utilisez les objets JAXB générés dans une application Java pour manipuler le contenu XML via les classes JAXB générées.

Pour plus d'informations sur la commande xjc, consultez la documentation JAXB Reference Implementation.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxbschema2java
Nom du fichier : twbs_jaxbschema2java.html