WSDL - element <binding>

Plik <binding>zawiera szczegółowe informacje o tym, jak operacja portType będzie faktycznie przesyłana przez kabel.

  • Powiązania można udostępnić za pośrednictwem wielu transportów, w tym HTTP GET, HTTP POST lub SOAP.

  • Powiązania zapewniają konkretne informacje o protokole używanym do przesyłania operacji typu portType .

  • Powiązania dostarczają informacji o lokalizacji usługi.

  • W przypadku protokołu SOAP powiązanie to <soap:binding>, a transport to komunikaty SOAP na szczycie protokołu HTTP.

  • Możesz określić wiele powiązań dla jednego typu portType .

Element bind ma dwa atrybuty: atrybut nazwy i typu .

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

Nazwa atrybutu określa nazwę wiązania i wpisz punkty atrybut do portu do wiązania, w tym przypadku „tns: Hello_PortType” portu.

Wiązanie SOAP

WSDL 1.1 zawiera wbudowane rozszerzenia dla protokołu SOAP 1.1. Umożliwia określenie szczegółów specyficznych dla SOAP, w tym nagłówków SOAP, stylów kodowania SOAP i nagłówka HTTP SOAPAction. Elementy rozszerzenia SOAP obejmują następujące -

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

mydło: wiążące

Ten element wskazuje, że powiązanie zostanie udostępnione za pośrednictwem protokołu SOAP. Styl atrybut wskazuje ogólny styl formatu komunikatów SOAP. Wartość stylu rpc określa format RPC.

Transportu atrybut wskazuje transport komunikatów SOAP. Wartość http://schemas.xmlsoap.org/soap/http wskazuje transport SOAP HTTP, podczas gdy http://schemas.xmlsoap.org/soap/smtp wskazuje transport SOAP SMTP.

mydło: operacja

Ten element wskazuje powiązanie określonej operacji z określoną implementacją protokołu SOAP. W SoapAction Określa atrybut że SoapAction HTTP nagłówek być wykorzystane do identyfikacji usługi.

mydło: ciało

Ten element umożliwia określenie szczegółów komunikatów wejściowych i wyjściowych. W przypadku HelloWorld element body określa styl kodowania SOAP i URN przestrzeni nazw skojarzonej z określoną usługą.

Oto fragment kodu z rozdziału Przykład -

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