FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://fr.wikipedia.org/wiki/XML-RPC

XML-RPC — Wikipédia

Contents
Types de données
Critiques
Références
Liens externes

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

XML-RPC est un protocole RPC (remote procedure call), une spécification simple et un ensemble de codes qui permettent à des processus s'exécutant dans des environnements différents de faire des appels de méthodes à travers un réseau.

Ce protocole a été élaboré et publié dans sa première version en 1998 par Dave Winer, travaillant pour UserLand Software, en collaboration avec Microsoft.

XML-RPC permet d'appeler une fonction sur un serveur distant à partir de n'importe quel système (Windows, Mac OS X, GNU/Linux) et avec n'importe quel langage de programmation. Le serveur est lui-même sur n'importe quel système et est programmé dans n'importe quel langage.

Cela permet de fournir un service web utilisable par tout le monde sans restriction de système ou de langage.

Les processus d'invocation à distance utilisent le protocole HTTP pour le transfert des données et la norme XML pour la structuration des données.

XML-RPC est conçu pour permettre à des structures de données complexes d'être transmises, exécutées et renvoyées très facilement.

XML-RPC est une alternative aux services web WS-*, dont SOAP.

<?xml version="1.0"?> <methodResponse> <params> <param> <value><string>BonjourPaul</string></value> </param> </params> </methodResponse>

Types de données

modifiermodifier le code

Les types de données qui existent dans la spécification xml-rpc sont :

Nom Exemple Commentaire
Entier
-666</i4>\n"}}'><i4>-666</i4>
ou
-666</int>\n"}}'><int>-666</int>
Entier signé sur 4 bytes
Booléen
0</boolean>\n"}}'><boolean>0</boolean>
ou
1</boolean>\n"}}'><boolean>1</boolean>
0 représente l'état "faux", 1 représente l'état "vrai"
Chaîne de caractères
Toto</string>\n"}}'><string>Toto</string>
Nombre à virgule
-13.12</double>\n"}}'><double>-13.12</double>
double signé
Date et heure
2025-04-13T20:06:52</dateTime.iso8601>\n"}}'><dateTime.iso8601>2025-04-13T20:06:52</dateTime.iso8601>
Date et heure au format ISO 8601
Données binaires
dW4gdGV4dGUgc2FucyBpbnTDqXLDqnQ=</base64>\n"}}'><base64>dW4gdGV4dGUgc2FucyBpbnTDqXLDqnQ=</base64>
Donées binaires encodées en base64
Structure de données
\n <member>\n <name>nom</name>\n <value><string>Toto</string></value>\n </member>\n <member>\n <name>age</name>\n <value><i4>18</i4></value>\n </member>\n</struct>\n"}}'><struct> <member> <name>nom</name> <value><string>Toto</string></value> </member> <member> <name>age</name> <value><i4>18</i4></value> </member> </struct>
Chaque membre de la structure de données a un nom et une valeur.

Un membre peut être de n'importe quel type. Il peut aussi être lui même une structure de données

Tableau
\n <data>\n <value><string>Toto</string></value>\n <value><i4>18</i4></value>\n </data>\n</array>\n"}}'><array> <data> <value><string>Toto</string></value> <value><i4>18</i4></value> </data> </array>
Les types de valeur du tableau peuvent de n'importe quel type et peuvent être hétérogènes

Une extension de la spécification introduit le type de données <nil /> qui permet de représenter une absence de valeur. Il n'est toutefois pas garanti qu'un serveur XML-RPC accepte ce type de données sur tous ses champs.

Par ailleurs, bien que ne faisant pas partie de la spécification, certaines implémentations acceptent le type de données <i8> pour représenter les entiers signés codés sur 8 bytes.

Critiques

modifiermodifier le code

Des critiques à l'encontre de XML-RPC font valoir qu'il n'a qu'une faible valeur ajoutée par rapport à du simple XML ou par rapport à une API Rest. Notamment une requête XML-RPC est environ 4 fois plus grosse qu'une requête en simple XML qui encoderait les mêmes objets.

Références

modifiermodifier le code
(en) Dave Winer, « Home », 14 juin 1999 (consulté le 25 mai 2024)
  • ↑ (en) « XML-RPC Extensions » (consulté le 13 avril 2025)
  • ↑ (en) « What is the benefit of XML-RPC over plain XML? » (consulté le 14 avril 2025)
  • ↑ (en) « If you have REST, why XML-RPC? » (consulté le 14 avril 2025)
  • Liens externes

    modifiermodifier le code

    View original on Wikipedia | Back | FazBrowse Home