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>