1 Les technologies XML Cours 4 : Les Web Services et XML- RPC Février Version 1.0 -
2 Web Services – XML RPC Avec lavènement du Web, lidée dinvoquer des services sur http sest développée. La première approche Web Service a été XML- RPC. Lidée : 1. 1.Envoyer un document XML 2. 2.Le traiter sur le serveur (éventuellement effectuer des actions) 3. 3.Renvoyer en réponse un autre document XML que le client peut traiter.
3 Web Services – XML RPC Remote Procedure Call (RPC) Sun RPC, CORBA IIOP, Java RMI, MS DCOM ORPC XML RPC : Requête-réponse Méthode POST de HTTP pour le transport XML pour lencodage HTTP/SSL pour la sécurité
4 Web Services – XML RPC Types de données Type de base Tableau Structure Récursion <!ELEMENT value ( i4 | int | boolean | string | dateTime.iso8601| double | base64 | struct | array )>
5 Web Services – XML RPC Requête Réponse Fault
6 Web Services – XML RPC Exemple de requête POST /RPC2 HTTP/1.0 User-Agent: Frontier/5.1.2 (WinNT) User-Agent: Frontier/5.1.2 (WinNT) Host: betty.userland.com Host: betty.userland.com Content-Type: text/xml Content-Type: text/xml Content-length: 181 Content-length: 181 examples.getStateName examples.getStateName <params> </params>
7 Web Services – XML RPC methodName peut être interprété à la convenance du serveur.Cela peut être un script à lancer sur le document XML, une méthode Java … Il ny a pas de limite au nombre de paramètre Il nest pas possible à la lecture du document de savoir ce qui va réellement être fait par le serveur.
8 Web Services – XML RPC Exemple de réponse HTTP/ OK Connection: close Content-Length: 158 Content-Type: text/xml Date: Fri, 17 Jul :55:08 GMT Server: UserLand Frontier/5.1.2-WinNT <methodResponse> South Dakota </methodResponse>
9 Web Services – XML RPC Le code retour http doit être 200 sauf en cas derreur http. Le reste des headers http doit être correctement valorisé. methodResponse peut contenir soit un élément soit un élément methodResponse peut contenir soit un élément soit un élément ne peut contenir quun unique ne peut contenir quun unique
10 Web Services – XML RPC Exemple de réponse en erreur HTTP/ OK Connection: close Content-Length: 426 Content-Type: text/xml Date: Fri, 17 Jul :55:02 GMT Server: UserLand Frontier/5.1.2-WinNT <methodResponse> <struct> faultCode 4 faultCode 4 faultString Too many parameters. faultString Too many parameters. </struct> </methodResponse>
11 Web Services – XML RPC Les « faultCode » ne sont pas normalisés et leur signification doit être diffusée au client pour quil puisse les interpréter Dans le cas ou le retour est un élément le retour http peut être 200 !!
12 Web Services – XML RPC Conclusion 1/2 XML RPC est simple à implémenter et permet dexposer rapidement des services sur le net. Il est difficile de savoir ce que fait réellement un service. Il ny a pas dans la spécification de notion de sécurité : tout est envoyé en clair. Les différentes implémentations dXML RPC ont « étendues » les spécifications et donc ne sont pas toujours interopérables.
13 Web Services – XML RPC Conclusion 2/2 Lapproche XML-RPC nest quasiment plus utilisée en entreprise du fait du manque de sécurité du protocole Elle na pas été retenue dans limplémentation de la nouvelle pile JEE 5.
14 Web Services – XML RPC Quelques Implémentations ( ) Apache :