A arquitetura Java para API de vinculação XML (JAXB) facilita o acesso aos documentos XML a partir de aplicativos escritos na linguagem de programação Java. Este documento mostra como o NetBeans IDE fornece suporte à ferramenta para JAXB, principalmente por meio de um assistente que transforma vários tipos de documentos XML em classes Java. Começando com um determinado arquivo WSDL, geraremos classes Java e depois faremos algo com elas.
Neste tutorial, você aprenderá duas coisas específicas:
Como usar um assistente no IDE para vincular o esquema de um documento XML a um conjunto de classes Java que representa o esquema.
Como usar uma variedade de ferramentas fornecidas pelo IDE para usar de forma rápida e eficiente as classes Java geradas.
O objetivo deste exercício é criar um projeto e gerar objetos Java a partir de um documento XML.
Escolha Arquivo > Novo projeto. Em Categorias, selecione Java. Em Projetos, selecione Aplicação Java e clique em Próximo.
Em Nome do projeto, indique JseSimpleClientReport e clique em Terminar. Na janela Projetos, o projeto JseSimpleClientReport aparece.
Na janela Projetos, clique com o botão direito do mouse no nó JseSimpleClientReport e escolha Novo > Outro > XML > Vinculação JAXB. Em seguida, clique em Próximo. O assistente para Nova vinculação JAXB aparece.
As configurações no assistente acima servem para as seguintes finalidades:
Nome da vinculação. Especifica o nome da nova vinculação JAXB, que será usada para identificá-la.
Projeto. Exibe o nome do projeto atual.
Arquivo do esquema. O arquivo com o qual você deseja trabalhar pode estar disponível localmente ou on-line.
Tipo de esquema. Os tipos seguintes de documento XML são suportados:
Esquema XML
Relax NG
Relax NG Compact
XML DTD
WSDL
Nome do pacote. Especifica o nome do pacote onde os objetos Java serão gerados.
nv. Não realize validação estrita do(s) esquema(s) de entrada. Por padrão, a validação estrita do esquema do código-fonte é realizada antes do processamento. Observe que isso não significa que o compilador de vinculação não realizará qualquer validação; isso simplesmente quer dizer que ele realizará uma validação menos estrita.
readOnly. Força o compilador a marcar os códigos-fonte Java gerados como somente-leitura. Por padrão, o compilador não protege contra gravação os arquivos de código-fonte Java que ele gera.
npa. Suppress the generation of package level annotations into **/package-info.java. Usar esta opção faz com que o código gerado internalize essas anotações em outras classes geradas.
verboso. Produz a saída máxima do compilador, tais como informações de progresso e avisos.
silencioso. Elimina a saída do compilador, tais como informações de progresso e avisos.
Usar extensão. Por padrão, o compilador reforça estritamente as regras abordadas no capítulo Compatibilidade da Especificação JAXB. No modo padrão (estrito), você também está limitado a usar somente as personalizações de vinculação definidas na especificação. Usando esta opção,
você será permitido a usar as extensões de fornecedor JAXB.
Usar arquivo de vinculação. Permite que você importe e edite um ou mais arquivos de personalização JAXB.
Usar arquivo de catálogo. Permite que você importe e edite arquivos de catálogo OASIS.
Digite CreditReport no Nome da vinculação.
Em Arquivo do esquema, selecione Selecionar do sistema de arquivos local. Clique em Navegar e vá para o arquivo WSDL que foi baixado no início deste tutorial.
Na lista suspensa Tipo do esquema, selecione WSDL (a não ser que o IDE o tenha escolhido automaticamente). Agora você deve ver o seguinte:
Nota: poderá aparecer um aviso dizendo que o suporte a esquema WSDL é somente experimental e que é necessário utilizar a opção -wsdl para ativá-lo. Ignore este aviso.
Clique em Terminar.
O IDE gera os objetos Java a partir do documento XML fornecido. Na próxima seção, examinamos os objetos Java no IDE.
Examinando a saída do assitente JAXB
O objetivo deste exercício é nos familiarizarmos com as ferramentas do NetBeans IDE para trabalhar com a saída do assistente JAXB.
Como em outros artefatos que o IDE gera novamente sempre que um projeto é construído, os objetos Java são gerados na pasta build. Abra a janela Arquivos e vá para a localização dos objetos Java gerados. A partir do NetBeans IDE 6.7, esses objetos Java também são exibidos na janela projetos, sob o nó Códigos-fonte gerados.
A janela Projetos também exibe um novo nó que contém o arquivo WSDL, como mostrado abaixo. Observe que você pode clicar com o botão direito do mouse no nó CreditReport e, em seguida, o assistente reabre e é possível alterar as configurações especificadas anteriormente.
Observe também que o assistente colocou as bibliotecas JAXB no classpath do aplicativo para JDK 5. Para JDK 6, o próprio JDK fornece as bibliotecas JAXB, portanto, nenhum novo nó é adicionado ao nó Bibliotecas.
Presumindo que você tenha alterado as configurações no assistente, é possível gerar novamente os objetos Java, como indicado abaixo:
Clique com o botão direito do mouse no arquivo WSDL e escolha Abrir. O documento é aberto no editor.
Agora que você sabe o que o IDE gerou para seu documento XML, usaremos algumas das ferramentas que observamos para fazer algo significativo com nossos objetos Java gerados.
Usando os objetos Java
O objetivo deste exercício é fazer algo significativo com os arquivos e o código que o IDE gerou para você. Você definirá alguns valores em um dos objetos Java gerados e, em seguida, serializará a janela Saída do IDE.
Abra a classe Main que o assistente para Novo aplicativo Java gerou para você. Declare CreditReport, que é uma das classes JAXB raiz geradas, no corpo do método principal:
public static void main(String[] args) {
CreditReport cr = new CreditReport();
}
Um ícone de aviso aparece. Passe o mouse sobre ele e uma dica de ferramenta será aberta dizendo que o IDE não pode encontrar a classe CreditReport. Clique no ícone de aviso e selecione a opção para que o IDE adicione a instrução de importação.
No corpo do método principal, digite 'cr.' O IDE fornece o recurso autocompletar de código relevante para seus artefatos JAXB (em alguns sistemas, poderá ser necessário pressionar Ctrl-Espaço):
Defina alguns valores para a classe JAXB, como os seguintes (Adicione uma instrução de importação para java.math.BigInteger):
No corpo do método principal, abaixo dos valores que foram inseridos, digite 'jaxbm'. Essas letras significam 'JAXB Marshalling'. Agora você deve ver o seguinte:
Aparece um sublinhado vermelho porque os caracteres que você digitou não formam uma palavra que seja parte da linguagem de programação Java. Em vez disso, essas letras formam um modelo de código do NetBeans, que usaremos na próxima etapa. Um modelo de código relacionado é 'jaxbu', que significa 'JAXB Unmarshalling'.
Pressione a tecla 'Tab'.
Os caracteres 'jaxbm' se expandem e um trecho de código aparece:
Aviso: A expansão do modelo de código é muito sensível. Não é possível adicionar um espaço e, em seguida, pressionar Tab ou digitar a frase incorretamente, corrigi-la e, em seguida, pressionar Tab, etc. É necessário somente digitar a frase corretamente e, em seguida, pressionar Tab. Se cometer um erro de digitação, exclua a frase que começou a digitar e digite a frase inteira.
Execute o projeto (clique com o botão direito do mouse no nó do projeto e selecione Executar). A janela Saída exibe o seguinte:
Para enviar comentários e sugestões, obter suporte e se manter informado sobre os mais recentes desenvolvimentos dos recursos de desenvolvimento de Java EE do NetBeans IDE, inscreva-se na lista de endereçamento de .