Comando WSDL2Java para Aplicativos JAX-RPC

Execute a ferramenta da linha de comandos WSDL2Java com relação ao arquivo WSDL para criar os modelos de APIs e do descritor de implementação Java™.

[z/OS]A ferramenta de linha de comandos WSDL2Java não é suportada na plataforma z/OS. Essa funcionalidade é permitida pelas ferramentas de montagem fornecidas com o WebSphere Application Server em execução na plataforma z/OS.

Um arquivo WSDL (Web Services Description Language) descreve um serviço da Web. A especificaçãoJava API for XML-based Remote Procedure Call (JAX-RPC) 1.1 define um mapeamento doJava API que interage com o serviço da Web. A especificação do Web Services for Java Platform, Enterprise Edition (Java EE) define os descritores de implementação que implementam um serviço da Web em um ambiente do Java EE. O comando WSDL2Java é executado para o arquivo WSDL a fim de criar as APISJava e os modelos do descritor de implementação de acordo com essas especificações.

Boas Práticas Boas Práticas: Recomenda-se usar espaços de nomes absolutos em seu WSDL ou esquema. Por padrão, a ferramenta WSDL2Java não permite o uso de espaços de nomes relativos. Espaços de nomes relativos foram reprovados pelo XML Plenary Interest Group e o uso de espaços de nomes relativos faz com que a Assinatura Digital XML falhe, como requerido pela especificação do Canonical XML Versão 1.0. No entanto, se você tiver um WSDL ou um esquema estabelecido que dependa dos espaços de nomes relativos, sob condições específicas, você poderá usar a propriedade allowRelativeNamespace para desativar as restrições de espaço de nomes relativas na ferramenta WSDL2Java. Para obter informações adicionais, consulte a descrição da propriedade. bprac
Você pode converter qualquer espaço de nome relativo em espaço de nome absoluto. A seguir, um exemplo de um espaço de nomes relativo:
targetNamespace="MyRelNamespace"
. É possível alterar o espaço de nomes relativo neste exemplo para um espaço de nomes absoluto incluindo as informações de protocolo e de URI de base:
targetNamespace="http://www.sample.com/MyRelNamespace"

Sintaxe da Linha de Comandos

A sintaxe da linha de comandos é:
WSDL2Java [argumentos] WSDL-URI

Argumentos Obrigatórios

  • WSDL-URI

    Especifica a localização do arquivo WSDL de entrada que está utilizando um URI (Universal Resource Identifier). Você também pode usar um caminho de arquivo comum se o arquivo WSDL estiver no sistema de arquivos local.

Argumentos Importantes

  • -role Função do Java EE
    Especifica a função de desenvolvimento Java EE que identifica quais arquivos gerar. Os argumentos válidos incluem:
    • cliente

      Uma combinação dos argumentos develop-client e deploy-client.

    • deploy-client

      Gera arquivos de ligação para implementação do cliente.

    • deploy-server

      Gera arquivos de ligação para implementação do servidor.

    • develop-client (padrão)

      Gera arquivos para desenvolvimento do cliente.

    • develop-server

      Gera arquivos para desenvolvimento do servidor.

    • servidor

      Uma combinação dos argumentos develop-server e deploy-server.

  • -container Contêiner do Java EE
    Indica o contêiner Java EE a ser utilizado. Os argumentos válidos incluem:
    • cliente

      Indica contêiner cliente.

    • ejb

      Indica um contêiner EJB (JavaBeans).

    • none

      Indica sem contêiner.

    • web

      Indica um contêiner da Web.

    Para funções do cliente (consulte a opção -role), o argumento padrão é none. Para funções do servidor, o contêiner deve ser ejb ou web. A mesma opção de contêiner deve ser utilizada para desenvolvimento e implementação.
  • -output directory

    Define o diretório raiz para os arquivos emitidos.

  • -inputMappingFile mapping file

    Especifica o nome do arquivo de mapeamento de Web Services for Java EE.

  • -introspect

    Usa os beans existentes Java com uma nova API de serviço da Web.

    Em alguns cenários, é bom usar classes Java existentes em vez de gerar novas classes. A opção -introspect dirige o comando WSDL2Java para examinar classes Java existentes ao gerar classes. As classes existentes são validadas em relação à especificação JAX-RPC. Por exemplo:

    Suponha que você tenha um bean Java existente
    public class Bean {
    	public Date x;
    }
    O arquivo WSDL define x como xsd:dateTime. Se a opção -introspect, o comando WSDL2Java gera um bean Java similar ao seguinte exemplo:
    public class Bean {
    	private Calendar x;
    	public void setx(Calendar value) (x=value;)
    	public Calendar getX() { return x;)
    }
    O comando WSDL2Java utiliza a opção -introspect para examinar o bean Java original e gerar classes compatíveis com os beans Java existentes.
  • -classpath paths

    Define um caminho de classe alternativo para procurar classes Java.

  • -noDataBinding

    Desativa a ligação de tipos XML para tipos Java. Em vez disso, cada tipo XML é mapeado para uma interface javax.xml.soap.SOAPElement definida pela API SOAP com Anexos para a especificação Java (SAAJ).

    O modelo de programação JAX-WS (Java API for XML Web Services) suporta SAAJ 1.2 e 1.3.

    O modelo de programação JAX-RPC suporta SAAJ 1.2.

    Os modelos de programação Java definem os mapeamentos Java para um subconjunto de tipos XML. Vários tipos XML não podem ser mapeados para beans Java ou primitivos. Nessa situação, o comando WSDL2Java mapeia o tipo para um SAAJ SOAPElement. Um SAAJ SOAPElement é uma representação genérica do elemento na mensagem. Os métodos no SOAPElement podem ser usados para examinar o elemento e seus filhos.

    Em alguns cenários, pode ser mais apropriado usar o mapeamento SOAPElement genérico exclusivamente. Para saber mais sobre o uso do SOAPElement, consulte as informações sobre a API SOAP com Anexos para a interface Java e componentes de ligação de dados customizados para aplicativos JAX-RPC.

    Para obter uma lista completa de padrões e especificações suportados, consulte as especificações de serviços da Web e a documentação da API.

  • -help

    Exibe uma mensagem de ajuda e sai.

  • -helpX

    Exibe uma mensagem de ajuda para opções estendidas. As opções incluem:

  • -verbose

    Exibe as informações de processamento, incluindo os nomes dos arquivos gerados.

  • -NStoPkg namespace=package

    Por padrão, os nomes dos pacotes são derivados automaticamente das cadeias de espaço de nomes no arquivo WSDL. Por exemplo, se o espaço de nomes tiver o formato http://x.y.com ou urn:x.y.com, o pacote correspondente será com.y.x.

    É possível fornecer seu próprio mapeamento utilizando o argumento -NStoPkg, que pode ser repetido com a frequência necessária, uma vez para cada mapeamento de espaço de nomes exclusivo. Por exemplo, se um espaço de nomes no arquivo WSDL for denominado urn:AddressFetcher2, e você quiser que os arquivos gerados a partir dos objetos no espaço de nomes residam no pacote samples.addr, forneça o argumento -NStoPkg "http://urn:AddressFetcher2/"=samples.addr para o comando WSDL2Java.

  • -timeout seconds

    Especifica quanto tempo o comando WSDL2Java aguarda, em segundos, até que o URI do WSDL responda, antes de desistir. O padrão é 45 segundos; -1 desativa o tempo limite.

  • -genResolver

    Gera uma classe de resolução absolute-import. A finalidade dessa classe é registrar o conteúdo dos arquivos WSDL importados que são utilizados pelo URI do WSDL. Essa classe é utilizada pelo tempo de execução e também pode ser utilizada para execuções futuras do comando WSDL2Java. Essa flexibilidade é desejável quando os arquivos WSDL importados são remotos e podem estar inacessíveis. Quando uma resolução de importação é utilizada, a possibilidade de um arquivo WSDL remoto possuir conteúdos diferentes no tempo de execução e no desenvolvimento está eliminada. A classe gerada chama-se _AbsoluteImportResolver.java. Compile e empacote essa classe com as outras classesJava geradas pelo comando WSDL2Java.

  • -useResolver resolver-class

    Especifica uma classe de resolução absolute-import para usar durante a análise. Essa classe deve ser criada durante uma execução anterior do comando WSDL2Java que utiliza a opção -genResolver. A classe deve estar disponível na variável CLASSPATH.

  • -deployScope argument
    Indica como implementar a implementação do servidor. Os argumentos válidos incluem:
    • Application

      Utiliza uma instância da classe de implementação para todos os pedidos.

    • Request

      Cria uma nova instância da classe de implementação para cada pedido.

    • Session

      Cria uma nova instância da classe de implementação para cada sessão.

Outros Argumentos

  • -user id

    Especifica o nome do usuário de login para acessar o URI do WSDL.

  • -password password

    Especifica a senha do usuário de login para acessar o URI do WSDL.

  • -all

    Gera tipos de arquivos Java para todos os tipos, mesmo que não tenham referência.

  • -allowRelativeNamespace true or false

    Especifica se as restrições de espaço de nomes relativo devem ser desativadas. Se você especificar -allowRelativeNamespace=true, as restrições de espaço de nomes relativas serão desativadas.

    Evitar Problemas Evitar Problemas: Utilize essa propriedade apenas se você tiver um arquivo ou um esquema WSDL estabelecido que dependa de espaços de nomes relativos e você estiver buscando interoperar com um conjunto definido de fornecedores que permita o uso de espaços de nomes relativos.gotcha
  • -debug

    Imprime informações de depuração.

  • -genJava argument
    Gera arquivos Java. Os argumentos válidos incluem:
    • IfNotExists, default
    • Sobrescrever
    • Não
  • -javaSearch argument
    A opção -javaSearch é utilizada com a opção -genJava. Se -genJava tiver o valor IfNotExists, utilize a opção -javaSearch para determinar como a existência do arquivo será detectada.
    • File (default): Procura um arquivo no diretório de saída
    • Classpath: Procura uma classe na variável CLASSPATH
    • Both: Procura um arquivo no diretório de saída ou em uma classe na variável CLASSPATH
  • -genXML argument
    Gera os arquivos .xml e .xmi. Os argumentos válidos são:
    • IfNotExists, default
    • Sobrescrever
    • Não
  • -genImplSer true ou false

    Indica que cada bean Java implementa o java.io.Serializable. O padrão é false.

  • -genEquals true ou false

    Indica que cada bean Java tem métodos equals e hashCode. O padrão é falso.

  • -noWrappedOperations

    Desativa a detecção de operações agrupadas. Os beans Java para as mensagens de pedido e resposta são gerados.

  • -noWrappedArrays

    Desativa a detecção de matriz agrupada.

  • -fileNStoPkg file name

    Especifica o arquivo do espaço de nomes para empacotar mapeamentos. O padrão é NStoPKG.properties.

  • service wsdl service name

    Gera arquivos apenas para o serviço WSDL instalado.

  • -testCase

    Gera o modelo para as etapas de teste JUnit para os serviços da Web de teste. JUnit é uma estrutura simples para gravar testes que podem ser repetidos.


Í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_wsdl2java
Nome do arquivo: rwbs_wsdl2java.html