WSDL - Elemento <binding>

Il <binding>element fornisce dettagli specifici su come un'operazione portType verrà effettivamente trasmessa in rete.

  • Le associazioni possono essere rese disponibili tramite più trasporti tra cui HTTP GET, HTTP POST o SOAP.

  • I collegamenti forniscono informazioni concrete su quale protocollo viene utilizzato per trasferire le operazioni portType .

  • Le associazioni forniscono informazioni su dove si trova il servizio.

  • Per il protocollo SOAP, l'associazione è <soap:binding>e il trasporto è costituito da messaggi SOAP in cima al protocollo HTTP.

  • È possibile specificare più associazioni per un singolo portType .

L'elemento binding ha due attributi: nome e tipo di attributo.

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

L' attributo name definisce il nome dell'associazione e l'attributo type punta alla porta per l'associazione, in questo caso la porta "tns: Hello_PortType".

Rilegatura SOAP

WSDL 1.1 include estensioni integrate per SOAP 1.1. Consente di specificare dettagli specifici SOAP tra cui intestazioni SOAP, stili di codifica SOAP e intestazione HTTP SOAPAction. Gli elementi di estensione SOAP includono quanto segue:

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

sapone: legante

Questo elemento indica che l'associazione sarà resa disponibile tramite SOAP. L' attributo style indica lo stile generale del formato del messaggio SOAP. Un valore di stile di rpc specifica un formato RPC.

L' attributo di trasporto indica il trasporto dei messaggi SOAP. Il valore http://schemas.xmlsoap.org/soap/http indica il trasporto SOAP HTTP, mentre http://schemas.xmlsoap.org/soap/smtp indica il trasporto SOAP SMTP.

sapone: operazione

Questo elemento indica l'associazione di un'operazione specifica a un'implementazione SOAP specifica. L' attributo soapAction specifica che l'intestazione HTTP SOAPAction deve essere utilizzata per identificare il servizio.

sapone: corpo

Questo elemento consente di specificare i dettagli dei messaggi di input e output. Nel caso di HelloWorld, l'elemento body specifica lo stile di codifica SOAP e l'URN dello spazio dei nomi associato al servizio specificato.

Ecco il pezzo di codice dal capitolo Esempio:

<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>