0% ont trouvé ce document utile (0 vote)
58 vues24 pages

Cours 3

Transféré par

dihyaacf
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
58 vues24 pages

Cours 3

Transféré par

dihyaacf
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Abderrahmane Mira de Béjaia

Faculté des Sciences Exactes


Département d’Informatique

Le WSDL
(Cours 3)

Dr H. EL BOUHISSI

Septembre 2023
Objectifs du cours

1 Découvrir le contrat de description d’un Service Web

2 Comprendre les briques de base d’un document WSDL

3 Apprendre comment extraire les informations utiles à partir d’un


document WSDL

2
Plan

1 Définition et Versions

2 Contenu d’un document WSDL

3 Exemples de documents WSDL

3
WSDL : Définition

WSDL signifie Web Service Description Language.

Un métalangage permettant de décrire en détail les services Web. Un service Web est un service mis
à disposition des clients par un serveur via Internet (ou un autre réseau). Les services Web sont
multiplateformes, c’est-à-dire qu’ils fonctionnent avec les systèmes et les applications les plus divers.

Pour qu’un client puisse s’informer sur les possibilités et les processus du service Web, un fichier
WSDL est disponible sur le serveur. Les détails contenus dans le fichier permettent au client de savoir
comment consulter le service Web.

4
WSDL : Définition

Standard du W3C :
Version 1.1 en 2001
Version 2.0 en 2007, encore peu supporté par les outils

Objectif : décrire l'interface publique d'un Web Service (contrat de service)

Grammaire dérivée d’XML

Service Web = ensemble de ports de connexions mettant à disposition des opérations qui reçoivent
et envoient des messages

Regroupe les informations nécessaires pour interagir avec le service (fonctionnelles et techniques) :
•Les méthodes, les paramètres et valeurs retournées, le protocole de transport utilisé, la localisation du service
Document indispensable au déploiement de Services Web
•Publication et recherche de services au sein de l’annuaire se font via les documents WSDL
• Pour l’accès à un service particulier, un client se voit retourné l’URL du fichier WSDL décrivant
l’implémentation du service
5
Eléments du WSDL

<definitions> : racine du document


<types> : Types de données sous format schéma XML

<Part>

<Message> : paramètre, valeur de retour, exception


<Operation>

<portType> : ensemble d’opérations

<binding> : détail technique (protocoles…)

<port> : point d’accès

<service> : ensemble de port et leur binding associés


Description à 2 niveaux: Séparation entre la partie abstraite et concrète 6
WSDL : Version

7
Exemple : service Carnet d’adresses

3 opérations à mettre en œuvre :

• addPerson : Entrée (Person) + Sortie (booléen pour indiquer l’état de création)


• addPerson : Entrées (3 string : name, address et birthyear)
• getPersonByName : Entrée (string) + Sortie (Person)
• getPersons : Sortie (tableau d’objets Person)

Protocole SOAP : pour décrire les messages

Protocole HTTP : pour l’échange de messages

8
WSDL : l’élément types

2 variantes :

• Contient la définition des types de données (Schéma XSD, schéma XML…)


• Facultatif si les types sont simples (Integer, Boolean... )

• Importe un fichier Schéma XML contenant la définition des types


• Avantage : réutiliser des types et d’alléger le fichier WSDL

9
Exemple WSDL : définition des types

10
WSDL : l’élément message

Décrit un message échangé par le service et est défini par les attributs :

- Name : nom du message

- 1 ou plusieurs éléments <part> : inputs/outputs ou


exception d’une opération

Chaque élément <part> est défini par les attributs :


- name : nom du paramètre
- type : type de données du paramètre

11
WSDL : l’élément message

12
WSDL: les éléments portType et opération
Interface contenant les prototypes d’opérations fournies par le service et définie par les attributs :

• Name : nom du portType

• <opération> : 1 ou plusieurs décrivant chacun le prototype d’une méthode fournie par le


service

Chaque élément <opération> est défini par les attributs :

• name : nom de l’opération

• <input message>/<output message>/ <fault> : référence à 1 message décrivant les


paramètres d’E/ S et le message d’erreur de l’opération

13
Exemple WSDL : l’élément portType

14
Types d’échanges assurés par une opération
One-way : Message input sans réponse

Notification : Seul un message <output> est utilisé

Request/Response : <input>, <output> et <fault>


Le service reçoit un message du client et répond à sa
Requête

Solicit - response : <input>, <output> et <fault>


Le client reçoit un message du service et répond au
service

15
WSDL : l’élément binding
Décrit un portType du point de vue technique , les informations sur le protocole de transport utilisé ;
Protocole (SOAP 1.1 ou 1.2, HTTP GET & Post : ex, transfert d’images) utilisé pour manipuler un <portType>

Est défini par les attributs : name : nom du binding , type : portType concerné
Sa structure (éléments qu’ils contient) dépend du protocole utilisé
Plusieurs <binding> peuvent être définis pour appeler un portType de différentes manières

16
WSDL : Binding SOAP

A généralement la forme <soap:binding> et est défini par l’espace de noms :

http://schemas.xmlsoap.org/wsdl/soap/

Utilise les principales balises suivantes :

- <soap:binding>
- <soap:operation>
- <soap:body>, <soap:header>, <soap:headerfault>
- <soap:fault>

17
WSDL : les éléments service et port

Un élément <service> définit les ports (points d’accès) du service


Chaque <port> spécifie 1 adresse pour 1 binding donné.
Un élément <port> est défini par les attributs :
• name : nom du port
• binding : nom du binding (défini précédemment)

La structure de l’élément <port> est spécifique au protocole utilisé dans le binding


- <soap:address> : URI du port dans le cas d’un binding SOAP

Le portType Notebook est accessible


en SOAP/HTTP via cette URL 18
Un autre service : HelloWorld
2 opérations : 1) makeHello : Entrée (string) et Sortie (string) 2) simpleHello : Sortie (string)
Protocole SOAP : pour décrire les messages , et le Protocole HTTP : pour l’échange de messages

19
Un autre service : HelloWorld

20
Exercice

Annoter ce WSDL de vos commentaires :à quoi il sert, comment


s’en servir d’un point de vue client, quelles données vont
circuler quand on l’utilise, etc.

Cliquez ici pour visualiser le Fichier WSDL

21
Solution

Ce service web offre une unique opération : sur envoi d’un message de type GetLastTradePrice,
l’opération nommée GetLastTradePrice va s’exécuter. L’URL pour déclencher cette opération depuis un
navigateur web devrait :

http://example.com/stockquote/method=GetLastPrice?tickerSymbol=MonEntreprisePreferee

Le message sera véhiculé par une enveloppe SOAP (on a défini un soap binding). Le type de donnée
en entrée est un tickerSymbol prenant une valeur de type chaine de caractères. En réponse, on obtient
un price que l’on peut interpréter comme un flottant.

22
Outils pour manipuler des documents WSDL

Edition
Notepad++ (texte : XML)
Eclipse JavaEE
Netbeans
Visual Studio
Environnements de développement de SW

Validation
www.validwsdl.com

Test
SOAPUI
23
En résumé.......................

En résumé WSDL c’est un contrat entre un client et un serveur qui fait état :

• Des spécifications d'interfaces qui décrivent toutes les méthodes publiques,

• Des spécifications relatives aux types de donnée de messages mis en œuvre dans les
questions-réponses.

• Des informations liées au protocole de transport utilisé.

• Des informations d'adresse permettant de localiser le service décrit.

En un mot, WSDL définit le contrat existant entre un client et un serveur sans dépendance
particulière pour une plateforme ou un langage.

24

Vous aimerez peut-être aussi