Université Abderrahmane Mira de Béjaia
Faculté des Sciences Exactes
Département d’Informatique
Le SOAP
(Cours 4)
Dr H. EL BOUHISSI
Septembre 2023
Objectifs du cours
1 Découvrir le protocole de consommation d’un Service Web
2 Comprendre les briques de base d’un message SOAP
Plan
1 Définition et Versions
2 Contenu de messages SOAP
3 Exemples de messages SOAP
SOAP (Simple Object Access Protocol)
Le message SOAP est destiné au fournisseur du Service après avoir contacté l’annuaire pour
chercher le service correspondant au besoin du client, les informations obtenues permettent au
client de connaitre la localisation du service pour pouvoir l’invoquer à l’aide de messages SOAP.
• Protocole minimal pour l’appel des méthodes sur des serveurs, services, composants, objets.
• Protocole d’échange d’informations XML entre client et serveur HTTP.
• Standard de W3C, initié par Microsoft et IBM).
SOAP 1.0 : 1999
SOAP 1.1 : 2000, plus générique
SOAP 1.2 : recommandation W3C, 2007: [Link]
• Portable sur toutes les plateformes et technologies.
SOAP : Fonctionnement
La requête SOAP intervient sur le réseau entre le client et le serveur
SOAP Côté client SOAP Côté Serveur
Ouverture d'une connexion HTTP Récupération de la requête
Envoi d’une requête SOAP: document XML Exécution de la méthode avec les paramètres
décrivant la méthode à invoquer sur la Renvoie une réponse SOAP (document XML) au
machine distante et les paramètres de cette client
méthode.
Structure d'un message SOAP
Header : l’en-tête qui contient des informations
d'en-tête
Envelope : identifie le document XML en tant que
message SOAP
Body : contenant des informations d'appel et de
réponse
fault : contenant des erreurs et des informations d'état
Structure d'un message SOAP
Envelope : contient le message et ses différentes sous-blocs. Il s'agit du bloc racine XML. Peut
contenir un attribut encodingStyle dont la valeur est une URL vers un fichier de typage XML qui
décrira les types applicables au message SOAP.
Header: bloc optionnel qui contient des informations d'en-têtes sur le message. Si il est présent,
ce bloc doit toujours se trouver avant le bloc Body à l'intérieur du bloc Envelope.
Body: bloc qui contient le corps du message. Il doit absolument être présent de manière unique
dans chaque message et être contenu dans le bloc Envelope.
Fault: la seule structure définie par SOAP dans le bloc Body. Il sert à reporter des erreurs lors du
traitement du message, ou lors de son transport. Il ne peut apparaître qu'une seule fois par
message. Sa présence n'est pas obligatoire.
Structure d'un message SOAP
Tous les éléments du SOAP sont déclarés dans l'espace de noms par défaut de l'enveloppe SOAP :
[Link]
Et l'espace de noms par défaut pour le codage SOAP et les types de données est:
[Link]
SOAP : Exemple
SOAP REQUEST : demander le prix des pommes
Les éléments m: GetPrice et Item
sont des éléments spécifiques à
l'application et ils ne font pas partie
de l'espace de noms SOAP.
SOAP : Exemple
SOAP RESPONSE : Fournir le prix des pommes
SOAP : Exemple
L'accès vers
le fichier
WSDL
La méthode La variable i
La variable j
Méthode plus qui calcule la somme k de deux entiers : i, j
SOAP : Exemple