Comando wsimport para Aplicativos JAX-WS

A ferramenta de linha de comandos wsimport processa um arquivo Web Services Description Language (WSDL) existente e gera os artefatos necessários para desenvolver aplicativos de serviços da web Java™ API for XML-Based Web Services (JAX-WS). Os artefatos gerais são compatíveis com Java 5, tornando-os portáveis entre versões e plataformas diferentes do Java.

A ferramenta da linha de comandos wsimport suporta a abordagem top-down para desenvolver serviços da Web JAX-WS. Ao iniciar com um arquivo WSDL existente, utilize a ferramenta de linha de comandos wsimport para gerar os artefatos JAX-WS necessários.

Configurações suportadas Configurações suportadas: As ferramentas de linha de comandos wsimport, wsgen, schemagen e xjc não são suportadas na plataforma z/OS. Essa funcionalidade é permitida pelas ferramentas de montagem fornecidas com o WebSphere Application Server em execução na plataforma z/OS. Consulte sobre essas ferramentas de linha de comandos para aplicativos JAX-WS para saber mais sobre elas.sptcfg
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
Nota: É possível usar as ferramentas de linha de comandos wsimport, wsgen, schemagen e xjc com o Liberty e o WebSphere Application Server tradicional do servidor de aplicativos.
A ferramenta wsimport lê um arquivo WSDL existente e gera os seguintes artefatos:
  • Service Endpoint Interface (SEI) - A SEI é a representação Java anotada do arquivo WSDL para o serviço da Web. Essa interface é utilizada para implementar os terminais de JavaBeans ou criar instâncias de cliente de proxy dinâmico.
  • Classe de extensão javax.xml.ws.Service - É uma classe gerada que estende a classe javax.xml.ws.Service. Essa classe é utilizada para configurar e criar instâncias de dispatch e de proxy dinâmicas.
  • Beans de dados necessários, incluindo quaisquer beans Java Architecture for XML Binding (JAXB) que são necessários para modelar os dados de serviço da web.
É possível compactar os artefatos gerados em um arquivos Web Application Archive (WAR) com o arquivo WSDL e documentos de esquema junto com a implementação de terminal a ser feita.
Configurações suportadas Configurações suportadas: Para usar corretamente a ferramenta wsimport, você deve seguir os requisitos abaixo:
  • Você deve definir todos os serviços dentro do arquivo principal WSDL. Os serviços que são definidos dentro de um arquivo WSDL importado não são processados pela ferramenta wsimport.
  • Se você executar a ferramenta wsimport em um arquivo WSDL que implemente um padrão de estilo Documento ou Literal, os elementos complexTypes que definem os tipos de entrada e saída deverão ser compostos por nomes exclusivos para evitar conflitos de nomenclatura na lista de parâmetros para a operação.
  • Se você estiver executando a ferramenta wsimport e transmitir um URI (Identificador Uniforme de Recursos) ?wsdl como um parâmetro para um arquivo WSDL, assegure-se de que esteja utilizando a URI WSDL resolvida real. No perfil completo, a ferramenta wsimport resolve corretamente o URI ?wsdl, mas outros URIs relativos que são referenciados podem não ser resolvidos de forma correta. No perfil Liberty, a ferramenta wsimport resolve corretamente o URI ?wsdl e outros URIs relativos que são referenciados.
sptcfg

Além de usar ferramentas da linha de comandos, é possível chamar essas ferramentas JAX-WS de dentro de ambientes de construção Ant para WebSphere Application Server tradicional. Use a tarefa Ant com.sun.tools.ws.ant.WsImport a partir do ambiente de construção Ant para chamar a ferramenta WsImport. Para que funcione corretamente, essa tarefa Ant requer que Ant seja chamado usando o script ws_ant.

Sintaxe

A sintaxe da linha de comandos é:

[Windows]
app_server_root\bin\wsimport.bat [options] WSDL_URI
[AIX][HP-UX][Linux][Solaris]
app_server_root/bin/wsimport.sh
[options] WSDL_URI
[IBM i]
app_server_root/bin/wsimport [options] WSDL_URI

Parameters

O WSDL_URI é o único parâmetro obrigatório. Os seguintes parâmetros são opcionais para o comando wsimport:

-b <path>
Especifica os arquivos de ligação de JAX-WS ou JAXB externos. É possível especificar vários arquivos de ligação de JAX-WS e JAXB utilizando a opção -b; no entanto, cada arquivo deve ser especificado com sua própria opção -b.
-B <jaxbOption>
Especifica a transmissão dessa opção para o compilador de esquema JAXB.
-catalog
Especifica o arquivo de catálogo para resolver as referências de entidades externas. Ele suporta os formatos TR9401, XCatalog e OASIS XML Catalog.
-d <directory>
Especifica onde colocar os arquivos de saída gerados.
-extension
Especifica se deve aceitar extensões customizadas para a funcionalidade que não sejam indicadas pela especificação JAX-WS. O uso de extensões customizadas pode resultar em aplicativos não portáteis ou que não interoperam com outras implementações.
-help
Exibe o menu de ajuda.
-httpproxy:<host>:<port>
Especifica um proxy HTTP. O valor de porta padrão é 8080.
-keep
Especifica se deve manter os arquivos de origem gerados.
-p <package_name>
Especifica um pacote de destino com essa opção de linha de comandos e substitui qualquer arquivo WSDL e customização de ligação de esquema para o nome do pacote e o algoritmo de nome de pacote padrão definido na especificação JAX-WS.
-quiet
Especifica a supressão da saída wsimport .
-s <directory>
Especifica o diretório para colocar os arquivos de origem gerados.
-target <version>
Especifica a geração de código compatível com um nível de especificação JAX-WS específico. Especifique a versão 2.0 ou 2.1 para gerar código que seja compatível com a especificação JAX-WS 2.0 ou JAX-WS 2.1, respectivamente. Especificar a versão 2.1 indica para gerar o código que é compatível com a especificação JAX-WS 2.1. O valor padrão é a versão 2.2 e gera código compatível para a especificação JAXB 2.2.
A opção target é necessária para o perfil Liberdade.
-verbose
Especifica para apresentar mensagens sobre o que o compilador está fazendo.
-version
Imprime as informações de versão. Se você especificar essa opção, apenas as informações de versão serão incluídas na saída e o processamento de comando normal não ocorrerá.
-wsdlLocation
Especifica o valor @WebServiceClient.wsdlLocation.
Configurações suportadas Configurações suportadas: A ferramenta wsimport não configura o valor @WebService.wsdlLocation por padrão, ou quando o atributo -wsdlLocation é especificado. A ferramenta de linha de comandos wsimport atualiza só a anotação @WebServiceClient.wsdlLocation. É possível atualizar manualmente a anotação @WebService.wsdlLocation com uma URL relativa que especifica o local do arquivo WSDL (Web Services Description Language). Se a anotação @WebService.wsdlLocation estiver presente em uma classe de implementação do terminal, o valor deverá ser uma URL relativa e o documento WSDL que é referido deverá ser empacotado com o aplicativo.sptcfg
Evitar Problemas Evitar Problemas: Se você especificar uma URL HTTPS para o parâmetro -wsdlLocation, a ferramenta wsimport gerará uma classe de serviço com um construtor sem argumento que não é válido. Evite usar o construtor de serviço sem argumento para instanciar o serviço. Em vez disso, passe a URL HTTPS para um dos construtores de classe de serviço que usa uma URL do WSDL para um argumento, por exemplo:
MyService("https://example.ibm.com/My?wsdl");
gotcha
-clientJar
wsimport no serviço WSDL gera as classes necessárias para a chamada de serviço da web. Mas nem todas as informações que são requeridas pelo tempo de execução do JAX-WS são capturadas na SEI ou no WebServiceClient por meio de anotações de serviço da web padrão. A classe gerada tem o local do WSDL, para que ele possa recuperar os metadados adicionais do serviço no tempo de execução. Entretanto, uma conexão extra é necessária apenas para acessar os metadados toda vez que uma instância de serviço for criada, o que aumenta o uso de rede. Usando a opção -clientJar para wsimport, o WSDL e o esquema são transferidos por download automaticamente e todos os artefatos do lado do cliente gerados são empacotados em um arquivo JAR. Portanto, é possível incluir o arquivo JAR gerado usando essa nova opção no caminho da classe e não é necessário buscar os WSDLs do terminal toda vez que uma instância do serviço é criada, economizando uso de rede.

Ícone que indica o tipo de tópico Tópico de Referência



Í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=rwbs_wsimport
Nome do arquivo: rwbs_wsimport.html