WSDL - элемент <binding>

В <binding>element предоставляет конкретные детали того, как операция portType будет фактически передаваться по сети.

  • Привязки могут быть доступны через несколько транспортов, включая HTTP GET, HTTP POST или SOAP.

  • Привязки предоставляют конкретную информацию о том, какой протокол используется для передачи операций portType .

  • Привязки предоставляют информацию о расположении службы.

  • Для протокола SOAP привязка <soap:binding>, а транспорт - это сообщения SOAP поверх протокола HTTP.

  • Вы можете указать несколько привязок для одного portType .

Элемент привязки имеет два атрибута: имя и атрибут типа .

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

Имя атрибута определяет имя связывания, а также тип атрибута указывает на порт для связывания, в этом случае «TNS: Hello_PortType» порт.

Привязка SOAP

WSDL 1.1 включает встроенные расширения для SOAP 1.1. Он позволяет указывать конкретные детали SOAP, включая заголовки SOAP, стили кодирования SOAP и заголовок HTTP SOAPAction. Элементы расширения SOAP включают следующее:

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

мыло: связующее

Этот элемент указывает, что привязка будет доступна через SOAP. Стиль атрибута указывает на общий стиль формата SOAP сообщения. Значение стиля rpc определяет формат RPC.

Транспортный атрибут указывает на перенос сообщений SOAP. Значение http://schemas.xmlsoap.org/soap/http указывает транспортный протокол SOAP HTTP, тогда как http://schemas.xmlsoap.org/soap/smtp указывает транспортный протокол SOAP SMTP.

мыло: операция

Этот элемент указывает на привязку конкретной операции к конкретной реализации SOAP. В SOAPAction атрибут указывает , что SOAPAction HTTP заголовок, используемый для идентификации сервиса.

мыло: тело

Этот элемент позволяет вам указывать детали входных и выходных сообщений. В случае HelloWorld элемент body определяет стиль кодирования SOAP и URN пространства имен, связанное с указанной службой.

Вот фрагмент кода из главы примера -

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