WSDL - Elemento <binding>

los <binding>El elemento proporciona detalles específicos sobre cómo se transmitirá realmente una operación portType a través del cable.

  • Los enlaces pueden estar disponibles a través de varios transportes, incluidos HTTP GET, HTTP POST o SOAP.

  • Los enlaces proporcionan información concreta sobre qué protocolo se está utilizando para transferir operaciones portType .

  • Los enlaces proporcionan información sobre la ubicación del servicio.

  • Para el protocolo SOAP, el enlace es <soap:binding>y el transporte son mensajes SOAP sobre el protocolo HTTP.

  • Puede especificar varios enlaces para un solo portType .

El elemento de enlace tiene dos atributos: nombre y tipo de atributo.

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

El atributo de nombre define el nombre del enlace y el atributo de tipo apunta al puerto del enlace, en este caso el puerto "tns: Hello_PortType".

Enlace SOAP

WSDL 1.1 incluye extensiones integradas para SOAP 1.1. Le permite especificar detalles específicos de SOAP, incluidos los encabezados SOAP, los estilos de codificación SOAP y el encabezado HTTP SOAPAction. Los elementos de la extensión SOAP incluyen lo siguiente:

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

jabón: vinculante

Este elemento indica que el enlace estará disponible a través de SOAP. El atributo de estilo indica el estilo general del formato de mensaje SOAP. Un valor de estilo de rpc especifica un formato RPC.

El atributo de transporte indica el transporte de los mensajes SOAP. El valor http://schemas.xmlsoap.org/soap/http indica el transporte SOAP HTTP, mientras que http://schemas.xmlsoap.org/soap/smtp indica el transporte SOAP SMTP.

jabón: operación

Este elemento indica la vinculación de una operación específica a una implementación SOAP específica. El atributo soapAction especifica que el encabezado HTTP SOAPAction se utilizará para identificar el servicio.

jabón: cuerpo

Este elemento le permite especificar los detalles de los mensajes de entrada y salida. En el caso de HelloWorld, el elemento body especifica el estilo de codificación SOAP y el espacio de nombres URN asociado con el servicio especificado.

Aquí está el fragmento de código del capítulo Ejemplo:

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