Usando a Ferramenta xjc JAXB para Gerar Classes JAXB a partir de um Arquivo de Esquema XML

Use a ferramenta xjc Java Architecture for XML Binding (JAXB) para compilar um arquivo de esquema XML para classes Java totalmente anotadas.

Antes de Iniciar

Desenvolva ou obtenha um arquivo de esquema XML.

Sobre Esta Tarefa

Utilize as JAXB APIs e as ferramentas para estabelecer os mapeamentos entre um esquema XML e as classes Java. Os esquemas XML descrevem os elementos de dados e os relacionamentos em um documento XML. Depois de um mapeamento ou uma ligação de dados, você pode converter documentos XML para e a partir de objetos Java. Agora você pode acessar dados armazenados em um documento XML sem a necessidade de entender a estrutura dos dados.

Para desenvolver serviços da Web usando uma abordagem de desenvolvimento descendente iniciando com um arquivo Web Services Description Language (WSDL) existente, use a ferramenta wsimport para gerar os artefatos para os seus aplicativos Java API for XML-Based Web Services (JAX-WS) quando iniciar com um arquivo WSDL. Após a geração dos artefatos Java para seu aplicativo, você poderá gerar classes Java totalmente anotadas a partir de um arquivo de esquema XML usando a ferramenta de linha de comandos do compilador de esquema JAXB, xjc. As classes Java anotadas resultantes contêm todas as informações necessárias para que o tempo de execução JAXB analise o XML para o empacotamento e o desempacotamento. É possível usar as classes JAXB resultantes em aplicativos Java API for XML Web Services (JAX-WS) ou outros aplicativos Java para processar dados XML.

Boas Práticas Boas Práticas: WebSphere Application Server fornece API Java™ para XML-Based Web Services (JAX-WS) e ferramentas do Java Architecture para XML Binding (JAXB). As ferramentas de linha de comandos wsimport, wsgen, schemagen e xjc estão localizadas no diretório app_server_root\bin\ no WebSphere Application Server tradicional.Os comandos xjc e schemagen estão localizados no diretório app_server_root\jaxb\bin\, no perfil Liberty. Em determinadas ocasiões, os artefatos gerados pelas ferramentas fornecidas pelo WebSphere Application Server e pelo JDK suportam os mesmos níveis das especificações. Em geral, os artefatos gerados pelas ferramentas JDK são portáteis entre outros ambientes de tempo de execução compatíveis. Entretanto, é uma boa prática usar as ferramentas fornecidas com este produto para obter uma perfeita integração no ambiente do WebSphere Application Server e para aproveitar os recursos que talvez só sejam suportados no WebSphere Application Server. Para usufruir das vantagens dos conjuntos de ferramentas JAX-WS e JAXB V2.2, use as ferramentas fornecidas com o servidor de aplicativos localizado no diretório app_server_root\bin\.bprac
Configurações suportadas Configurações suportadas: Este produto suporta a especificação JAXB 2.2. JAX-WS 2.2 requer JAXB 2.2 para ligação de dados. sptcfg

Além de usar a ferramenta xjc da linha de comandos, você pode chamar esta ferramenta JAXB a partir dos ambientes de construção Ant. Use a tarefa Ant com.sun.tools.xjc.XJCTask a partir do ambiente de construção Ant para chamar a ferramenta do compilador de esquema xjc. Para funcionar adequadamente, esta tarefa Ant requer que chame Ant usando o script ws_ant.

Evitar Problemas Evitar Problemas: Se estiver usando a tarefa Ant xjc, você deve usar o parâmetro destdir para especificar o diretório de destino em vez da opção target. Especificar a opção target ao usar a tarefa Ant xjc causa um erro. gotcha

Procedimento

  1. Use o compilador de esquema JAXB, o comando xjc, para gerar classes Java JAXB anotadas. O compilador de esquema está localizado no diretório app_server_root\bin\. O compilador de esquema produz um conjunto de pacotes que contêm arquivos de origem Java e arquivos de propriedade JAXB dependendo das opções de ligação usadas para compilação.
  2. (Opcional) Use as declarações de ligações customizadas para alterar os mapeamentos JAXB padrão. Defina declarações de ligações no arquivo de esquema XML ou em um arquivo de ligações separado. É possível transmitir arquivos de ligações customizados usando a opção -b com o comando xjc.
  3. Compile os objetos JAXB gerados. Para compilar os artefatos gerados, inclua o Thin Client para JAX-WS com WebSphere Application Server no caminho de classes.

Resultados

Agora que você gerou objetos JAXB, pode gravar aplicativos Java usando os objetos JAXB gerados e manipular o conteúdo XML por meio das classes JAXB geradas.

Exemplo

O exemplo a seguir ilustra como o conjunto de ferramentas JAXB pode gerar classes Java ao começar com um arquivo de esquema XML existente.
  1. Copie o seguinte arquivo de esquema bookSchema.xsd para um diretório temporário.
      <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 um prompt de comandos.
  3. Execute o compilador de esquema JAXB, o comando xjc, do diretório no qual o arquivo de esquema está localizado. A ferramenta do compilador de esquema xjc está localizada no diretório app_server_root\bin\.
    [Windows]
    app_server_root\bin\xjc.bat bookSchema.xsd
    [Linux][AIX][HP-UX][Solaris]
    app_server_root/bin/xjc.sh bookSchema.xsd
    A execução do comando xjc gera os seguintes arquivos Java JAXB:
    generated\Bookdata.java
    generated\CatalogdData.java
    generated\ObjectFactory.java
  4. Use os objetos JAXB gerados em um aplicativo Java para manipular o conteúdo XML através das classes JAXB geradas.

Consulte a documentação de Implementação de referência JAXB para obter informações adicionais sobre sobre o comando xjc.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxbschema2java
Nome do arquivo: twbs_jaxbschema2java.html