| FazBrowse Wikipedia Viewer | Main Page | | |
| Viewing: https://fr.wikipedia.org/wiki/XML-RPC |
| Contents |
|---|
| Types de données |
| Critiques |
| Références |
| Liens externes |
Cet article est une ébauche concernant l’informatique.
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>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>
ou1</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.
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.
| View original on Wikipedia | Back | FazBrowse Home |