3. SOAP
Simple Object Access Protocol: SOAP permet une
normalisation des échanges de données. Les
données sont encodées en XML et échangées par
des appels de procédures à distance (RPC) en
utilisant HTTP/SMPT/POP comme protocole de
communication.
Standard W3C
Simple, extensible et permet le diagnostic des
erreurs
Fonctionne de manière synchrone et asynchrone.
Indépendant de la plate-forme et du langage
4. Structure du message SOAP
Envelope
Contenant d’un message,
SOAP
Élément racine XML,
Schéma XML ENVELOPPE
SOAP HEADER
http://www.w3.org/2002/06/soap-envelope/
Header (optionnel)
HEADER ENTRY
Entrées non applicatives,
Ex : Numéros de session.
Body (obligatoire) SOAP BODY
Entrées applicatives,
SOAP ENVELOPE
Ex : nom des procédures,
nom des paramètres,
valeurs de paramètres, BODY ENTRY
Retour d’erreurs.
5. Structure du message SOAP
L’enveloppe: Élément obligatoire dans un message SOAP
Il permet de spécifier la version de SOAP utilisée, en utilisant un
espace de nom http://www.w3.org/2003/05/soap-envelope
Il permet aussi de spécifier les règles d’encodage (sérialisation et
désérialisation) mises en oeuvre dans le message
(encodingStyle)
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-
envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body>
---------------------------!!Contenu de la requête!!---------------------------------
</soap:Body>
</soap:Envelope>
6. Structure du message SOAP
L’Entête : Élément optionnel
Il contient des éléments spécifiques à
l’application
Il peut contenir trois types d’éléments:
Actor: Permet de préciser le destinataire final du
message (message path)
MustUnderstand (0,1): Spécifie que le récepteur
du message doit obligatoirement comprendre cet
élément. Si ce n’est pas le cas, le récepteur arrête
tout traitement
Encodingstyle: Même définition que pour
7. Structure du message SOAP
Le corps: obligatoire Contient les données (
paramètres) utilisées pour un appel de
procédure distante effectué par le destinataire
final. Ce ne sont pas des éléments SOAP, mais
des éléments spécifiques à l’application.
10. Retour d’erreur
Les descripteurs d’erreurs
Faultcode: identifier l’erreur
Version Mismatch: Le namespace donné ne permet pas
de valider le message
MustUnderstand : L’élément de l’entête n’a pas été
compris
Client: Le message n’a pas été correctement formé ou il
manque certaines informations.
Server: Serveur non accessible ou erreur de décodage
du message.
FaultString: Permet de préciser la nature de l’erreur.
FaultActor: Information sur la localisation de l’erreur.
Detail: Erreur spécifique à l’application liée aux
données présentes dans le corps du message.
11. Transport de messages SOAP
HTTP (HyperText Transfer Protocol)
Protocole bidirectionnel synchrone : requête/réponse
Transfert de fichiers (habituellement HTML)
Requête méthode GET/méthode POST
Simple et disponible sur toute plate-forme
POST www.loria.fr/script HTTP/1.1
accept: text/html
accept: image/gif
content-type:
application/x-www-form-urlencoded
Client parametre1=valeur1& Serveur
HTTP parametre2=valeur2
HTTP
HTTP/1.0 200 OK
content-type: text/html
<HTML><HEAD><TITLE>LORIA …
16. WSDL
Web Services Description Language : Une
description en XML des services web.
Il décrit de manière abstraite et indépendante
du langage de programmation, l’ensemble des
fonctionnalités offertes par un service. Il
permet de connaître les protocoles, les
serveurs, les ports, le format des messages,
les entrées, les sorties, les exceptions
possibles et les opérations réalisées par un
service web.
18. UDDI
Universal Description, Discovery and Integration
Standard de l’ « Organization for the Advancement oF
Structured Information Standard » (avril 2003)
UDDI permet aux fournisseurs de services de s’inscrire et de
répertorier les services qu’ils proposent.
UDDI ne contient que des références associées à des
services, et non les services eux-mêmes
Il peut être public ou privé
Les annuaires publics sont hébergés par des sociétés comme
IBM ou Microsoft.
Les annuaires publics sont moins développés que les annuaires
privés parce qu’ils ne sont pas suffisamment sécurisés.
Les annuaires privés peuvent être hébergés par une société
quelconque sur un réseau privé ou sur internet.
19. UDDI
L’annuaire UDDI est composé de:
Pages blanches: Contiennent des informations
sur l’entreprise comme le nom de la société,
l’adresse
Pages jaunes: Contiennent la description des
services web, au format WSDL, déployés par
l’entreprise.
Pages vertes : Contiennent les informations
techniques détaillées sur les services fournis
(processus métier, description de service….)
20. UDDI
Pages blanches ou businessEntity:
Décrites sous la forme d’un schéma XML.
Elles contiennent les éléments relatifs à
l’entreprise qui propose le service (nom,
coordonnées, secteur d’activité, l’adresse du site
web…)
21. UDDI
Pages jaunes ou ServiceEntity:
Décrites aussi sous la forme d’un schéma XML
C’est un ensemble de services proposés
répondant à un besoin métier spécifique
Contiennent aussi la description des services web
proposés par ce dernier (nom du service,
description, code…)
Une entreprise peut avoir plusieurs métiers et
donc plusieurs businessService.
22. UDDI
pages vertes:
Contiennent les informations techniques sur
un service web.
Contiennent aussi les références aux tmodels
(spécification des interfaces des services web)
23. Bibliographie
Introduction aux Web Services (2010),
Rahee Ghurbhurn, Ecole Nationale Supérieure
de Mines,
WSDL : Décrire et configurer (2010), Mickaël
BARON.