WSDL - Elemento <binding>

o <binding>O elemento fornece detalhes específicos sobre como uma operação portType será realmente transmitida pela rede.

  • As ligações podem ser disponibilizadas por meio de vários transportes, incluindo HTTP GET, HTTP POST ou SOAP.

  • As ligações fornecem informações concretas sobre qual protocolo está sendo usado para transferir operações portType .

  • As ligações fornecem informações sobre onde o serviço está localizado.

  • Para o protocolo SOAP, a ligação é <soap:binding>e o transporte são mensagens SOAP sobre o protocolo HTTP.

  • Você pode especificar várias ligações para um único portType .

O elemento de ligação tem dois atributos: nome e atributo de tipo .

<binding name = "Hello_Binding" type = "tns:Hello_PortType">

O atributo name define o nome da ligação e o atributo type aponta para a porta da ligação, neste caso a porta "tns: Hello_PortType".

Ligação SOAP

WSDL 1.1 inclui extensões integradas para SOAP 1.1. Ele permite que você especifique detalhes específicos do SOAP, incluindo cabeçalhos SOAP, estilos de codificação SOAP e o cabeçalho HTTP SOAPAction. Os elementos de extensão SOAP incluem o seguinte -

  • soap:binding
  • soap:operation
  • soap:body

sabão: ligação

Este elemento indica que a vinculação será disponibilizada via SOAP. O atributo style indica o estilo geral do formato da mensagem SOAP. Um valor de estilo de rpc especifica um formato RPC.

O atributo transport indica o transporte das mensagens SOAP. O valor http://schemas.xmlsoap.org/soap/http indica o transporte SOAP HTTP, enquanto http://schemas.xmlsoap.org/soap/smtp indica o transporte SOAP SMTP.

sabão: operação

Este elemento indica a ligação de uma operação específica a uma implementação SOAP específica. O atributo soapAction especifica que o cabeçalho HTTP SOAPAction seja usado para identificar o serviço.

sabão: corpo

Este elemento permite que você especifique os detalhes das mensagens de entrada e saída. No caso de HelloWorld, o elemento body especifica o estilo de codificação SOAP e o URN do namespace associado ao serviço especificado.

Aqui está o trecho de código do capítulo de exemplo -

<binding name = "Hello_Binding" type = "tns:Hello_PortType">
   <soap:binding style = "rpc" transport = "http://schemas.xmlsoap.org/soap/http"/>
   <operation name = "sayHello">
      <soap:operation soapAction = "sayHello"/>
			
      <input>
         <soap:body
            encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
            namespace = "urn:examples:helloservice" use = "encoded"/>
      </input>
			
      <output>
         <soap:body
            encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
            namespace = "urn:examples:helloservice" use = "encoded"/>
      </output>
   </operation>
</binding>