SlideShare une entreprise Scribd logo
1  sur  23
SOAP, WSDL ET UDDI




  Réalisé: TRABELSI. L
PLAN
   SOAP
   WSDL
   UDDI
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
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.
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>
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
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.
Requête SOAP

 <?xml version="1.0?>
   <soap:Envelope
<?xml version="1.0?>
   xmlns:soap=http://www.w3.org/2001/12/soap-envelope
        <soap:Envelope xmlns:soap=http://www.w3.org/2001/12/soap-
   soap:encodingStyle="http://www.w3.org/2001/12/soap-
envelope
   encoding">
        soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

        <soap:Body>
               <soap:Body>
                        <m:GetPrice
                <m:GetPrice
                         xmlns:m="http://www.leaderprice.com/prices" >
                  xmlns:m="http://www.leaderprice.com/prices" >
                        <m:Item>Apples</m:Item>
                <m:Item>Apples</m:Item>
                        </m:GetPrice>
                </m:GetPrice>
                </soap:Body>
       </soap:Envelope>
        </soap:Body>
   </soap:Envelope>
Réponse SOAP

<?xml version="1.0"?>
   <soap:Envelope
<?xml version="1.0"?>
   xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-
   soap:encodingStyle="http://www.w3.org/2001/12/soap-
envelope"
   encoding">
        soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

              <soap:Body>
        <soap:Body>
                      <m:GetPriceResponse
              <m:GetPriceResponse
                       xmlns:m="http://www.leaderprice.com/prices" >
                        <m:Price>1.90</m:Price>
  xmlns:m="http://www.leaderprice.com/prices" >
                      </m:GetPriceResponse>
              <m:Price>1.90</m:Price>
              </soap:Body>
      </soap:Envelope>
              </m:GetPriceResponse>
      </soap:Body>
  </soap:Envelope>
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.
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 …
Exemple retour d’erreur


   <env:Body>
           <env:Fault>
            <faultcode>env:VersionMismatch>
            </faultcode>
            <faultstring>Version Mismatch</faultstring>
            </env:Fault>
     </env:Body>
Liaison SOAP/HTTP
GET /Leaderprice HTTP/1.1
  SOAP utilise le mode POST de HTTP
Host: www.leaderpriceserver.com
  Requête SOAP/HTTP                                                     HTTP
Content-Type: text/xml; charset= " ISO-8859-1"
       Ajout du champs "action"
Content-Length: nnnn
Action: "  Acheminement et Filtrage par les serveurs HTTP
          www.leaderprice.com/prices"                                   Message
                                                                         SOAP
     Content-Type: application/soap+xml
 <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/"
     Message SOAP
      env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/>
    Réponse SOAP/HTTP
       Content-Type: application/soap+xml
      Etat 2xx
      <env:Body>
            Requête SOAP reçue et traitée avec succès,
                  <m:GetPrice xmlns:m="www.leaderprice.com/prices">
            Message SOAP envoyée contient la réponse
                           <m:Item>Apples</m:Item>
             ou rien (one-way model).
                  </m:GetPrice>
       Etat 500
      </env:Body>
        Requête SOAP échouée,
        Envoi d’un message SOAP        contenant le retour d’erreur.
 </env:Envelope>
Réponse SOAP/HTTP
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=" ISO-8859-1"
Content-Length: nnnn

 <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/"
     env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/>
      <env:Body>
               <m:GetPriceResponse
      xmlns:m="www.leaderprice.com/prices">
                         <Price>1.90</Price>
               </m:GetPriceResponse>
       </env:Body>
 </env:Envelope>
Réponse SOAP/HTTP (erreur)
HTTP/1.1 500 Internal Server Error
Content-Type: application/soap+xml; charset=" ISO-8859-1"
Content-Length: nnnn

 <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/"
     env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/>
      <env:Body>
          <env:Fault>
            <faultcode>SOAP-ENV:MustUnderstand</faultcode>
            <faultstring>SOAP Must Understand Error</faultstring>
          </env:Fault>
       </env:Body>
 </env:Envelope>
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.
Structure du message WSDL
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.
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….)
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…)
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.
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)
Bibliographie
   Introduction aux Web Services (2010),
    Rahee Ghurbhurn, Ecole Nationale Supérieure
    de Mines,
   WSDL : Décrire et configurer (2010), Mickaël
    BARON.

Contenu connexe

Tendances

WEB SERVICE SOAP, JAVA, XML, JAXWS
WEB SERVICE SOAP, JAVA, XML, JAXWSWEB SERVICE SOAP, JAVA, XML, JAXWS
WEB SERVICE SOAP, JAVA, XML, JAXWSLhouceine OUHAMZA
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web servicesoussemos
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantiqueStéphane Traumat
 
Les web services
Les web servicesLes web services
Les web servicesdihiaselma
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
Présentation de RMI Java
Présentation de RMI JavaPrésentation de RMI Java
Présentation de RMI JavaZakaria Bouazza
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express jsAbdoulaye Dieng
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)Klee Group
 

Tendances (20)

Soa & services web
Soa & services webSoa & services web
Soa & services web
 
WEB SERVICE SOAP, JAVA, XML, JAXWS
WEB SERVICE SOAP, JAVA, XML, JAXWSWEB SERVICE SOAP, JAVA, XML, JAXWS
WEB SERVICE SOAP, JAVA, XML, JAXWS
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web services
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantique
 
Les web services
Les web servicesLes web services
Les web services
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
.NET Framework
.NET Framework.NET Framework
.NET Framework
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Présentation de RMI Java
Présentation de RMI JavaPrésentation de RMI Java
Présentation de RMI Java
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
7 rest
7 rest7 rest
7 rest
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Cours java
Cours javaCours java
Cours java
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
2 ModéLe Mvc
2 ModéLe Mvc2 ModéLe Mvc
2 ModéLe Mvc
 

Similaire à Soap, wsdl et uddi

Presentation
PresentationPresentation
Presentationbois
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnHINDGUENDOUZ
 
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbWebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbHINDGUENDOUZ
 
BordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets JavaBordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets JavaCamblor Frédéric
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web Nazih Heni
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfngombeemmanuel
 
Introduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesIntroduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesConFoo
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlinangeeLee
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esbLilia Sfaxi
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_servicesCamus LANMADOUCELO
 
Création de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESBCréation de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESBLilia Sfaxi
 
Tp soa avec talend esb
Tp soa avec talend esbTp soa avec talend esb
Tp soa avec talend esbAlahyane Ahmed
 
Dotnet j2 ee
Dotnet j2 eeDotnet j2 ee
Dotnet j2 eechdalel
 

Similaire à Soap, wsdl et uddi (20)

03_-_SOA_-_SOAP.pdf
03_-_SOA_-_SOAP.pdf03_-_SOA_-_SOAP.pdf
03_-_SOA_-_SOAP.pdf
 
Presentation
PresentationPresentation
Presentation
 
Soap
SoapSoap
Soap
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbWebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
WebServices.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
Ter Web Service Intro
Ter Web Service IntroTer Web Service Intro
Ter Web Service Intro
 
BordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets JavaBordeauxJUG : Portails &amp; Portlets Java
BordeauxJUG : Portails &amp; Portlets Java
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdf
 
Soap
SoapSoap
Soap
 
Introduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesIntroduction à la sécurité des WebServices
Introduction à la sécurité des WebServices
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esb
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services
 
Création de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESBCréation de Services et Configuration du ESB avec TalendESB
Création de Services et Configuration du ESB avec TalendESB
 
Tp soa avec talend esb
Tp soa avec talend esbTp soa avec talend esb
Tp soa avec talend esb
 
Dotnet j2 ee
Dotnet j2 eeDotnet j2 ee
Dotnet j2 ee
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 

Soap, wsdl et uddi

  • 1. SOAP, WSDL ET UDDI Réalisé: TRABELSI. L
  • 2. PLAN  SOAP  WSDL  UDDI
  • 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.
  • 8. Requête SOAP <?xml version="1.0?> <soap:Envelope <?xml version="1.0?> xmlns:soap=http://www.w3.org/2001/12/soap-envelope <soap:Envelope xmlns:soap=http://www.w3.org/2001/12/soap- soap:encodingStyle="http://www.w3.org/2001/12/soap- envelope encoding"> soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body> <soap:Body> <m:GetPrice <m:GetPrice xmlns:m="http://www.leaderprice.com/prices" > xmlns:m="http://www.leaderprice.com/prices" > <m:Item>Apples</m:Item> <m:Item>Apples</m:Item> </m:GetPrice> </m:GetPrice> </soap:Body> </soap:Envelope> </soap:Body> </soap:Envelope>
  • 9. Réponse SOAP <?xml version="1.0"?> <soap:Envelope <?xml version="1.0"?> xmlns:soap="http://www.w3.org/2001/12/soap-envelope" <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap- soap:encodingStyle="http://www.w3.org/2001/12/soap- envelope" encoding"> soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body> <soap:Body> <m:GetPriceResponse <m:GetPriceResponse xmlns:m="http://www.leaderprice.com/prices" > <m:Price>1.90</m:Price> xmlns:m="http://www.leaderprice.com/prices" > </m:GetPriceResponse> <m:Price>1.90</m:Price> </soap:Body> </soap:Envelope> </m:GetPriceResponse> </soap:Body> </soap:Envelope>
  • 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 …
  • 12. Exemple retour d’erreur <env:Body> <env:Fault> <faultcode>env:VersionMismatch> </faultcode> <faultstring>Version Mismatch</faultstring> </env:Fault> </env:Body>
  • 13. Liaison SOAP/HTTP GET /Leaderprice HTTP/1.1  SOAP utilise le mode POST de HTTP Host: www.leaderpriceserver.com  Requête SOAP/HTTP HTTP Content-Type: text/xml; charset= " ISO-8859-1"  Ajout du champs "action" Content-Length: nnnn Action: "  Acheminement et Filtrage par les serveurs HTTP www.leaderprice.com/prices" Message SOAP Content-Type: application/soap+xml <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/"  Message SOAP env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/>  Réponse SOAP/HTTP  Content-Type: application/soap+xml  Etat 2xx <env:Body>  Requête SOAP reçue et traitée avec succès, <m:GetPrice xmlns:m="www.leaderprice.com/prices">  Message SOAP envoyée contient la réponse <m:Item>Apples</m:Item> ou rien (one-way model). </m:GetPrice> Etat 500  </env:Body>  Requête SOAP échouée,  Envoi d’un message SOAP contenant le retour d’erreur. </env:Envelope>
  • 14. Réponse SOAP/HTTP HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=" ISO-8859-1" Content-Length: nnnn <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/" env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/> <env:Body> <m:GetPriceResponse xmlns:m="www.leaderprice.com/prices"> <Price>1.90</Price> </m:GetPriceResponse> </env:Body> </env:Envelope>
  • 15. Réponse SOAP/HTTP (erreur) HTTP/1.1 500 Internal Server Error Content-Type: application/soap+xml; charset=" ISO-8859-1" Content-Length: nnnn <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/" env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/> <env:Body> <env:Fault> <faultcode>SOAP-ENV:MustUnderstand</faultcode> <faultstring>SOAP Must Understand Error</faultstring> </env:Fault> </env:Body> </env:Envelope>
  • 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.