Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Chapitre 4 :
Les Services Web SOAP
hamdi.aloulou@isima.u-monastir.tn
Introduction
› Il existe deux types de Services Web les plus connus :
8
Le Protocole HTTP
› HTTP : HyperText Transfer Protocol
– Protocole de communication développer pour le web
(Requête/Réponse)
– Déconnexion
10
Le Protocole HTTP : Fonctionnement
Connexion
:Socket :ServerSocket
GET /doc.html Port = 80
IPS = … POST /script.php
Port = 80 Accept()
Réponse HTTP
Status = 200
Déconnexion :Socket
Doc.htm IPC = … Doc.htm
Port = …
11
Les méthodes du protocole HTTP
› Une requête HTTP peut être envoyée en utilisant les méthodes
suivantes :
– GET : Pour récupérer le contenu d’un document
Corps de la requête
(vide) 13
Le Protocole HTTP : La réponse Entête de la réponse
<HTML>
Le fichier que le client va <HEAD> … </HEAD>
afficher <BODY>…</BODY>
</HTML>
Corps de la réponse
14
Le Protocole HTTP : Les codes de réponse
› Les codes de réponse se divisent en 5 classes :
– 1XX : Informationnel
› Indique une réponse provisionnel
› Exemples : 100 : Continue
– 2XX : Succès
› Indique que la requête a été reçu, compris, accepté et traité avec succès
› Exemples : 200 : OK, 201 : Created.
– 3XX : Redirection
› Indique que d’autres mesures doivent être prise pour répondre à la requête.
› Exemple : 301 : Moved Permanently
– 4XX : Erreur Client
› Utiliser dans les cas où le client a fait une erreur
› Exemples : 403 : Forbidden, 404 : Not found, 405 : Method Not Alloweds
– 5XX : Erreur Serveur
› Indique que le serveur est conscient qu'il a rencontré une erreur ou est
incapable d'effectuer la demande.
› Exemples : 500 : internal Server Error, 501 : Not Implemented
15
Le principe des services
web SOAP
25
Les services web SOAP
Service Oriented Architecture Protocol
› Un message SOAP
– Permet la transmission d’un message au format XML
› Une Requête SOAP c’est une requête HTTP mais avec le corps
de la requête contient un message XML avec une structure bien
défini.
27
L’Idée des Services Web SOAP
› Au niveau de serveur il y a des api qui sont capables de lire
ce message. (pour JAVA il y a par exemple JaxWS).
28
L’Idée des Services Web SOAP
(POST)
HTTP/1.0 200 OK
(POST)
Date : Wed, 05Feb18 16:42:30 GMT
Server : Apache/1.3.24
Last-Modified : Wed 02Oct17 23:50:01 GMT
Content-Type : Text/html
Content-length : 4205
***saut de ligne ***
<HTML>
<HEAD> … </HEAD>
<BODY>…</BODY> 29
</HTML>
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.
30
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
34
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)
35
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) 36
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.
37
L’Idée des Services Web SOAP
2: J’ai trouvé! Voici le serveur
hébergeant ce service web Contrat
UDDI
SOAP
Client Serveur
XML
39
Structure d’un message SOAP
Structure d’un message SOAP
40
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. 41
Entête SOAP (Header)
› Paramètres annexes : Propriétés du message
– Informations d’authentification
45
Fautes SOAP
› Utilisé lorsqu’une erreur survient
– En général dans une réponse à un message reçu auparavant
48
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
54
Exemple
55
Exemple
56
Le registre UDDI
57
UDDI
Universal Description, Discovery and Integration
58