Vous êtes sur la page 1sur 9

Master 2 IDTW 2013/2014

Description des services web


avec WSDL
( Partie II )

23/11/2013 Service web et structure de données H. Meziane 1


Grammaire d’un document WSDL (2/3)
 WSDL est une grammaire XML pour la description du service web. La
spécification est divisée en éléments principaux suivants :
• Définitions …..
• Types …..
• Message ….
• Les opérations ….
• les types de ports …..
• Les liaisons (Binding) définit un format de message et les détails d’un
protocole pour les opérations et les messages définis par un type de port
donné.
• Les ports (ports) : ce sont les nœuds de communication particuliers,
chacun étant défini comme une combinaison entre une liaison et une
adresse réseau.
• Les services : il s’agit de l’ensemble des ports exposés pour permettre
l’accès aux services correspondants.
. 23/11/2013 Service web et structure de données H. Meziane
2
Binding (1/3)

 La description de la relation entre les opérations définies dans


un type de port et les protocoles et formats de message qui
prendront en charge les échanges ainsi définis est effectuée
par l’intermédiaire de la définition d’éléments de liaison
(Binding).
 Les liaisons peuvent être disponible à travers multiple
transport incluant HTTP GET, HTTP POST, or SOAP. En réalité
nous pouvons spécifier plusieurs bindings pour un portType
donnée.
 Dans la grammaire d’une liaison, l’élément binding spécifie les
éléments et attributs suivants :

Service web et structure de données H. Meziane


23/11/2013 3
Binding (2/3)
<wsdl : binding name="Hello_Binding" type="tns:Hello_PortType">
<wsdl : operation name="sayHello">
<wsdl : input ...>………</ wsdl : input>
<wsdl : output …>…….</wsdl : output>
<wsdl : Fault …>…….</ wsdl : Fault>
</ wsdl : operation>
</ wsdl : binding>
 L’attribut name définit un nom unique pour chaque liaison
employée dans le document WSDl.
 L’attribut type permet à la liaison de faire référence au portType
qu’elle relie. Dans notre exemple l’élément binding reference
tns:Hello_PortType.
 L’élément opération dans une liaison spécifie les informations de
liaison pour l’opération avec le même nom que dans le portType
de la liaison.
23/11/2013 Service web et structure de données H. Meziane
4
Binding (3/3)
<wsdl : binding name="Hello_Binding" type="tns:Hello_PortType">
<wsdl : operation name="sayHello">
<wsdl : input ...>………</ wsdl : input>
<wsdl : output …>…….</wsdl : output>
<wsdl : Fault …>…….</ wsdl : Fault>
</ wsdl : operation>
</ wsdl : binding>
 Les éléments input, output, sont présents ou non selon le type
d’interaction mis en œuvre par l’opération.
 L’ élément fault éventuel relatif aux messages n’est présent que pour
les interactions de type requête/réponse ou demande de réponse.
Deux règles importantes peuvent être retenues :

 Une liaison ne peut mettre en œuvre qu’un et un seul protocole ;


 Aucun URI ne doit être référencé dans une liaison.

23/11/2013 Service web et structure de données H. Meziane


5
Exemple WSDL : HelloService.wsdl
<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>
23/11/2013 Service web et structure de données H. Meziane
6
Port
 Un port définit un nœud de communication, et donc un URI, pour une
liaison particulière. Uun port spécifie l’adresse d’une liaison. Dans un
document WSDL, cet élément se décrit ainsi :

<WSDL : definition ……>


<WSDL : Service ……>
<WSDL : port name="nmtoken" binding="qname">
</WSDL port>
…..
 L’attribut name fournit un nom unique parmi tous les ports définis dans
le document WSDL.
 L’attribut binding (de type Qname) se rapporte à une liaison.

À cet élément s’appliquent également deux règles importantes :


un port ne doit pas comporter plus d’un URI ;
aucune information de liaison autre qu’une adresse ne
peut être fournie.
23/11/2013 Service web et structure de données H. Meziane
7
service
• L’élément service spécifie la localisation du service .
• Un service est un ensemble de port. Il est matérialisé dans un
document WSDL de la manière suivante :
<service name="nmtoken">
<port .... />
</service>
L’attribut name fournit un nom unique parmi tous les services
définis dans le document WSDL.
Un service peut regrouper plusieurs ports. Dans cette situation,
les ports ne peuvent communiquer entre eux, c’est-à-dire que la
sortie d’un port ne peut constituer l’entrée d’un autre port.

23/11/2013 Service web et structure de données H. Meziane


8
Exemple WSDL : HelloService.wsdl
<service name="Hello_Service">
<documentation>WSDL File for HelloService
</documentation>
<port name="Hello_Port" binding="tns:Hello_Binding" >
<soap:address
location="http://localhost:8080/soap/servlet/rpcrouter"/>
</port>
</service>
Dans notre exemple, le service Web nommé Hello_Service propose un port nommé
Hello_Port, associé à la liaison nommée Hello_Binding. Ce port correspond au point
d’accès Internet http://localhost:8080/soap/servlet/rpcrouter"/
Note :
L’élément service inclut l’élément documentation pout fournir une documentation lisible
par humain

23/11/2013 Service web et structure de données H. Meziane


9

Vous aimerez peut-être aussi