next up previous
Next: A implementação do web Up: Geração de artefatos Java Previous: Obtenção do Java Web

Geração de código Java e do arquivo de mapeamento a partir do WSDL

Após instalar o JWSDP, entre no seguinte diretório:
$JWSDP_HOME/jaxrpc/bin

É aí que está o ``compilador'' WSDL, que é chamado de wscompile (a ferramenta é um script, isto é, um .sh ou um .bat, dependendo do seu sistema operacional). A sintaxe da linha de comando do wscompile é a seguinte:

wscompile [options] configuration_file

Como é possível ver, o parâmetro para o wscompile não é um arquivo WSDL, mas sim um arquivo de configuração. Isso ocorre porque o wscompile faz mais coisas além de ``compilar'' WSDLs. Como no nosso caso nós só queremos ``compilar'' o WDSL, nosso arquivo de configuração será:

<?xml version="1.0" encoding="UTF-8"?>

<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
    <wsdl location="VideoRental.wsdl" packageName="videorentalstore.webservice.gen"/>
</configuration>

O arquivo de configuração é bem simples. O atributo location deve indicar a localização do arquivo WSDL. Já o atributo packageName indica qual o nome do pacote Java em que as classes Java serão geradas. Para gerar os artefatos a partir do WSDL, basta executar:

$ mkdir output
$ ./wscompile.sh -import -f:norpcstructures,wsi -mapping output/jaxrpc-mapping.xml
    -d output -s output -keep config.xml

Vocês não precisam entender todos os parâmetros passados ao wscompile. Se vocês olharem na documentação, vão ver que o wscompile aceita uma grande quantidade de parâmetros. Vou explicar os parâmetros que usei acima de maneira sucinta (isso é apenas para os curiosos, vocês não precisam entender isso para fazer o EP).

A primeira coisa feita foi criar um diretório output, onde os artefatos gerados serão colocados (o wscompile não cria o diretório automaticamente). O primeiro parâmetro (-import) é usado para indicar ao wscompile que ele deve ``importar'' um arquivo WSDL. O segundo parâmetro (-f:norpcstructures,wsi) habilita as features norpcstructures e wsi. O parâmetro -mapping define o arquivo de mapeamento entre WSDL e Java (este arquivo será gerado pelo wscompile). Os parâmetros -d e -s definem onde serão gerados os arquivos .class e os fontes, respectivamente. Por fim, o -keep diz ao wscompile para não apagar os fontes gerados.

Depois de rodar o comando acima, serão geradas classes e interfaces Java, além de um arquivo de mapeamento chamado jaxrpc-mapping.xml. Tudo isto estará no diretório output. Se vocês olharem para o arquivo jaxrpc-mapping.xml, verão que ele relaciona partes do WSDL com entidades Java. A partir deste ponto você não precisam mais do JWSDP.


next up previous
Next: A implementação do web Up: Geração de artefatos Java Previous: Obtenção do Java Web
Francisco Reverbel
2006-05-25