WSDL - Élément <binding>

le <binding>L'élément fournit des détails spécifiques sur la manière dont une opération portType sera réellement transmise sur le câble.

  • Les liaisons peuvent être rendues disponibles via plusieurs transports, notamment HTTP GET, HTTP POST ou SOAP.

  • Les liaisons fournissent des informations concrètes sur le protocole utilisé pour transférer les opérations portType .

  • Les liaisons fournissent des informations sur l'emplacement du service.

  • Pour le protocole SOAP, la liaison est <soap:binding>, et le transport est des messages SOAP au-dessus du protocole HTTP.

  • Vous pouvez spécifier plusieurs liaisons pour un seul portType .

L'élément de liaison a deux attributs: l'attribut de nom et de type .

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

L' attribut name définit le nom de la liaison et l'attribut type pointe vers le port pour la liaison, dans ce cas le port "tns: Hello_PortType".

Reliure SOAP

WSDL 1.1 inclut des extensions intégrées pour SOAP 1.1. Il vous permet de spécifier des détails spécifiques à SOAP, notamment les en-têtes SOAP, les styles de codage SOAP et l'en-tête HTTP SOAPAction. Les éléments d'extension SOAP incluent les éléments suivants -

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

savon: reliure

Cet élément indique que la liaison sera rendue disponible via SOAP. L' attribut style indique le style général du format de message SOAP. Une valeur de style de rpc spécifie un format RPC.

L' attribut de transport indique le transport des messages SOAP. La valeur http://schemas.xmlsoap.org/soap/http indique le transport SOAP HTTP, tandis que http://schemas.xmlsoap.org/soap/smtp indique le transport SOAP SMTP.

savon: opération

Cet élément indique la liaison d'une opération spécifique à une implémentation SOAP spécifique. L' attribut soapAction spécifie que l'en-tête HTTP SOAPAction doit être utilisé pour identifier le service.

savon: corps

Cet élément vous permet de spécifier les détails des messages d'entrée et de sortie. Dans le cas de HelloWorld, l'élément body spécifie le style de codage SOAP et l'espace de noms URN associé au service spécifié.

Voici le morceau de code du chapitre Exemple -

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