Saída da Transformação UML-para-WSDL

A estrutura da saída que a transformação UML-para-WSDL gera depende da estrutura do modelo de origem UML. Os elementos UML que a transformação transforma em WSDL podem ser localizados em pacotes diferentes.

A transformação UML-para-WSDL gera saída no projeto ou pasta de destino especificado na configuração de transformação.

Se o modelo de origem contiver tipos de porta WSDL ou tipos XSD, a transformação gerará instruções de importação WSDL na saída da transformação. As instruções de importação WSDL importam os espaços de nomes dos Tipos de Porta WSDL e Tipos XSD. É possível importar apenas os espaços de nomes que estão no espaço de trabalho existente. A transformação não modifica os tipos de porta WSDL e tipos XSD no modelo de origem, nem a transformação copia esses recursos para o projeto ou pasta de destino especificado na configuração de transformação.

A transformação gera saída com base na estrutura do modelo de origem. Na saída gerada pela transformação, os espaços de nomes dos elementos WSDL e esquemas XSD baseiam-se no nome do elemento UML ou no nome do pacote ou componente UML.

Se o componente no modelo de origem contiver elementos do esquema XSD, e o componente for um provedor de serviços, a transformação gerará o esquema XSD seqüencial no mesmo arquivo WSDL.

Os seguintes exemplos descrevem a estrutura da saída da transformação, com base nas diversas estruturas do modelo de origem:

Exemplo: Os Elementos UML Estão Contidos em um Componente

Neste exemplo, os elementos UML que descrevem um serviço da Web estão contidos em um componente no modelo de origem. Um pacote chamado com.ibm.example1 contém um componente chamado Component1. Uma classe chamada Class1, que está em Component1, contém um atributo chamado id e um atributo chamado name. Uma interface chamada Interface1, que está em Component1, contém uma operação chamada Operation1. Operation1 contém um parâmetro chamado exception1, um parâmetro chamado parameter1 e um parâmetro de retorno chamado result.

Esta imagem ilustra o componente descrito no parágrafo anterior.

Neste exemplo, a transformação gera um arquivo WSDL nomeado Component1.wsdl, que inclui um esquema seqüencial. A tabela a seguir descreve a saída da transformação.
Recurso WSDL Gerado Propriedade WSDL Valor
[Destino de transformação]\[Nome do pacote]\...\[Nome do pacote pai]\com.ibm.example1\Component1\Component1.wsdl targetNamespace http://[Nome do pacote]/../[Nome do pacote pai]/com.ibm.example1/Component1

Exemplo: Os Elementos UML Estão Contidos no Mesmo Pacote, mas Não em um Componente

Neste exemplo, os elementos UML que descrevem um serviço da Web estão contidos no mesmo pacote, mas não estão contidos em um componente que representa o serviço da Web. Um pacote chamado com.ibm.example2 contém uma classe chamada Class2, um componente chamado Component2 e uma interface chamada Interface2. A interface possui uma operação chamada Operation2; Operation2 possui um parâmetro chamado exception2, um parâmetro chamado parameter e um parâmetro de retorno chamado result.

Esta imagem ilustra o pacote descrito no parágrafo anterior.

Neste exemplo, a transformação gera três recursos WSDL. A tabela a seguir descreve a saída da transformação.
Recurso WSDL Gerado Propriedade WSDL Valor
[Destino da transformação]\com\ibm\example2\Component2.wsdl targetNamespace http://com.ibm.example2/Component2/
[Destino da transformação]\com\ibm\example2\com_ibm_example2.wsdl targetNamespace http://com.ibm.example2/

Exemplo: Os Elementos UML Estão em Pacotes Diferentes

Neste exemplo, os elementos UML que descrevem um serviço da Web estão contidos em pacotes diferentes. Um pacote chamado com.ibm.data3 contém uma classe chamada Class3, que possui um atributo chamado id e um atributo chamado name. Um outro pacote, chamado com.ibm.example3, contém um componente chamado Component3. Um terceiro pacote, chamado com.ibm.spec3, contém uma interface chamada Interface3, que contém um parâmetro chamado exception3, um parâmetro chamado parameter3 e um parâmetro de retorno chamado result.

Esta imagem ilustra os pacotes descritos no parágrafo anterior.

Neste exemplo, a transformação gera dois arquivos WSDL e um arquivo XSD. A tabela a seguir descreve a saída da transformação.
Recurso WSDL Gerado Propriedade WSDL Valor
[Destino da transformação]\com\ibm\example3\Component3.wsdl targetNamespace http://com.ibm.example3/Component3/
[Destino da transformação]\com\ibm\spec3\com_ibm_spec3.wsdl targetNamespace http://com.ibm.spec3/wsdl/
[Destino da transformação]\com\ibm\data3\com_ibm_data3.xsd targetNamespace http://com.ibm.data3/xsd/

Feedback