Port WSDL

Le port WSDL peut décrire l'interface fournie par un service web (opérations légitimes).

Port WSDL

<portType> Les éléments sont les éléments les plus importants de WSDL.

Il peut décrire un web servicequi peuvent être exécutéesopérationset lesMessage

Le port définit un point de connexion vers un service web. On peut comparer cet élément à une bibliothèque (ou un module, ou une classe) dans un langage de programmation traditionnel, et chaque opération à une fonction dans un langage de programmation traditionnel.

Type d'opération

Le type requête-réponse est le type d'opération le plus courant, mais WSDL définit quatre types :

Type Définition
Unidirectionnelle Cette opération peut accepter un message sans renvoyer de réponse.
Request-response Cette opération peut accepter une demande et renvoyer une réponse
Solicit-response Cette opération peut envoyer une demande et attendre une réponse.
Notification Cette opération peut envoyer un message sans attendre de réponse.

Opération unidirectionnelle

Un exemple d'opération unidirectionnelle :

<message name="newTermValues">
   <part name="term" type="xs:string"/>
   <part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
   <operation name="setTerm">
      <input name="newTerm" message="newTermValues"/>
   </operation>
</portType >

Dans cet exemple, le port "glossaryTerms" définit une opération unidirectionnelle nommée "setTerm".

Cette opération "setTerm" peut accepter des messages d'entrée de nouveaux éléments de la liste des termes, ces messages utilisent un message nommé "newTermValues", ce message contient les paramètres d'entrée "term" et "value" mais n'a pas de sortie définie pour cette opération.

Opération Request-Response

Exemple d'une opération request-response :

<message name="getTermRequest">
   <part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
   <part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
  <operation name="getTerm">
    <input message="getTermRequest"/>
    <message message="getTermResponse"/>
  </operation>
</portType>

Dans cet exemple, le port "glossaryTerms" définit une opération request-response nommée "getTerm".

L'opération "getTerm" demande un message d'entrée nommé "getTermRequest", ce message contient un paramètre nommé "term", et renvoie un message de sortie nommé "getTermResponse", ce message contient un paramètre nommé "value".