Documento WSDL

O documento WSDL é apenas um simples documento XML.

Ele contém uma série de definições que descrevem um serviço web.

estrutura do documento WSDL

O documento WSDL descreve um serviço web usando esses elementos principais:

elemento definição
<portType> operações executadas pelo serviço web
<message> mensagens usadas pelo serviço web
<types> tipos de dados usados pelo serviço web
<binding> protocolo de comunicação usado pelo serviço web

A estrutura principal de um documento WSDL é semelhante a esta:

<definitions>
<types>
   definição de tipos...
</types>
<message>
   definição de uma mensagem...
</message>
<portType>
   definição de uma porta...
</portType>
<binding>
   definição de uma ligação...
</binding>
</definitions>

O documento WSDL pode conter outros elementos, como elementos de extensão, e um elemento de serviço, que pode combinar definições de vários serviços web em um único documento WSDL.

Para uma visão geral completa da sintaxe, acesse Sintaxe WSDL Esta seção.

Porta WSDL

<portType> O elemento é o elemento mais importante do WSDL.

Ele pode descrever um serviço web, operações executáveis e mensagens relacionadas.

O elemento <portType> pode ser comparado a uma biblioteca (ou um módulo, ou uma classe) em linguagens de programação tradicionais.

Mensagens WSDL

<message> O elemento define os elementos de dados de uma operação.

Cada mensagem é composta por uma ou mais partes. Estas partes podem ser comparadas aos parâmetros de uma chamada de função em linguagens de programação tradicionais.

Tipos WSDL

<types> O elemento define os tipos de dados usados pelo serviço web.

Para maximizar a neutralidade do plataforma, o WSDL usa a sintaxe do XML Schema para definir tipos de dados.

Ligações WSDL

<binding> O elemento define o formato de mensagem e detalhes do protocolo para cada porta.

Exemplo WSDL

Este é um fragmento simplificado de um documento WSDL:

<message name="getTermRequest">
   <part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
   <part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
  <operation name="getTerm">
        <input message="getTermRequest"/>
        <output message="getTermResponse"/>
  </operation>
</portType>

Neste exemplo,<portType> O elemento define "glossaryTerms" como algumPortado nome, define "getTerm" como algumOperaçãodo nome.

A operação "getTerm" possui um nome chamado "getTermRequest".Mensagem de Entrada, e uma mensagem chamada "getTermResponse".Mensagem de Saída.

<message> O elemento pode definir cada mensagemComponente, e os tipos de dados associados.

Comparado com a programação tradicional, glossaryTerms é uma biblioteca de funções, e "getTerm" é uma função com parâmetro de entrada "getTermRequest" e parâmetro de saída getTermResponse.