Chapitre 5 Les Services Web SOAP
Chapitre 5 Les Services Web SOAP
Chapitre 5 Les Services Web SOAP
Chapitre 5 :
Les Services Web SOAP
hamdi.aloulou@isima.u-monastir.tn
Introduction
› Il existe deux types de Services Web les plus connus :
3
Services Web SOAP VS REST
Carte Postale Vs. Courrier
4
Services Web SOAP VS REST
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<S:Body>
<ns2:hello xmlns:ns2="http://services.bibliotheque.isima.rnu.tn/">
<name>Licence LCS</name>
</ns2:hello>
</S:Body>
</S:Envelope>
SOAP
Client Serveur
GET http://localhost:8080/Bibliotheque/Livre/{id}
REST
Client Serveur
Services Web SOAP VS REST
SOAP
➔ Avantages
➔ Cible l’appel de service
➔ Standardisé
➔ Sécurité (WS-Security)
➔ Inconvénients
➔ Performances
➔ Complexité, lourdeur
Services Web SOAP VS REST
REST
➔ Avantages
➔ Cible l’appel de ressources
➔ Simplicité de mise en œuvre
➔ Lisibilité par un humain
➔ Repose sur les principes du web
➔ Représentations multiples (XML, JSON,…)
➔ Inconvénients
➔ Destiné pour la manipulation des ressouces
➔ Sécurité restreinte par l’emploi des méthodes HTTP
Le principe des services
web SOAP
16
Les services web SOAP
Service Oriented Architecture Protocol
› Un message SOAP
– Permet la transmission d’un message au format XML
19
L’Idée des Services Web SOAP
(POST)
(POST)
21
La méthode HTTP pour les Web Service SOAP
› SOAP:
– POST : La méthode utilisé pour envoyer la requête SOAP et
recevoir la réponse SOAP.
22
Web Service : Requête SOAP avec POST
POST /Nom_Script HTTP/1.0
Accect :text/html
Entête de la requête
Accept-Language : fr
User-Agent : Mozilla/4.0
25
Concepts des Services Web SOAP
› Le concept des Web Services s’articule actuellement
autour des trois concepts suivants :
– SOAP (Simple Object Access Protocol)
› protocole d'échange inter-applications
› indépendant de toute plate-forme,
› basé sur le langage XML.
› Un appel SOAP est transporté dans le protocole HTTP.
– WSDL (Web Services Description Language)
– UDDI (Universal Description, Discovery and Integration)
26
Concepts des Services Web SOAP
› Le concept des Web Services s’articule actuellement
autour des trois concepts suivants :
– SOAP (Simple Object Access Protocol)
– WSDL (Web Services Description Language)
› Description au format XML des Web Services
› Pour qu’un client puisse faire appel à un WS, il a besoin de
savoir son nom, le nom des méthodes et les paramètres d’entré
et de sortie de chaque méthode. C’est la raison pour laquelle
dans les web services il y a ce qu’on appelle les WSDLs.
› Précise les méthodes pouvant être invoquées, leurs signatures
et le point d’accès (URL, port, etc..).
– UDDI (Universal Description, Discovery and Integration) 27
Concepts des Services Web SOAP
› Le concept des Web Services s’articule actuellement
autour des trois concepts suivants :
– SOAP (Simple Object Access Protocol)
– WSDL (Web Services Description Language)
– UDDI (Universal Description, Discovery and Integration)
› Annuaire de Web Services, permettant à la fois la publication et
la recherche des Web Services.
› UDDI se comporte lui-même comme un Web Service dont les
méthodes sont appelées via le protocole SOAP.
› On utilise l’annuaire dans le cas où on ne connait pas encore
où se trouve le WS. Si on a besoin d’un WS, et qu’on ne connait
pas où on va le trouver, on peut utiliser un annuaire pour
récupérer l’adresse des WS.
28
L’Idée des Services Web SOAP
2: J’ai trouvé! Voici le serveur
hébergeant ce service web Contrat
UDDI SOAP
(WSDL)
3: Quel est le format d’appel du
service que tu propose
un service web
1: Je cherche
Client Serveur
XML
30
Structure d’un message SOAP
Structure d’un message SOAP
31
Structure d’un document SOAP
› Dans SOAP, les messages sont vus comme des enveloppes où
l’application renferme les données à envoyer
› Soap:envelope (Fr. enveloppe) (obligatoire)
– Est l'élément racine d’un message SOAP.
› Soap:header (Fr. entête) (Optionnel)
– est une partie facultative qui peut contenir des informations comme des
identifiants.
› Soap:body (Fr. corps) (Obligatoire)
– est un container qui contient les méthodes et les paramètres qui seront
exécutés par le destinataire final / La réponse de la méthode invoquée
› Soap:fault (Fr. erreur) (Optionnel)
– est un élément facultatif défini dans le corps SOAP et qui est utilisé pour
reporter les erreurs. 32
Entête SOAP (Header)
› Paramètres annexes : Propriétés du message
– Informations d’authentification
36
Fautes SOAP
› Utilisé lorsqu’une erreur survient
– En général dans une réponse à un message reçu auparavant
39
WSDL
Web Services Description Language
› C’est un langage décrivant comment s’interfacer avec des
services web basés sur XML.
+ Message Part
Input
SOAPBinding SOAPOperation
Binding
Operation Input
Output
Documentation
Service
Port SOAPAddress
45
Exemple
46
Exemple
47
Exercices
50
Exercice
› Qu’elle est l’usage classique de HTTP ?