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

01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)TECOS
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à androidLilia Sfaxi
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solutionJEMLI Fathi
 
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
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaMariem ZAOUALI
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques androidLilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring CloudFlorian Beaufumé
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsLilia Sfaxi
 

Tendances (20)

Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à android
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
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
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corba
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques android
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
 

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
 
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
 
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
 
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
 
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
 
7 rest
7 rest7 rest
7 rest
 
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.