XML-RPC

XML-RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisión de mensajes.[1]

Es un protocolo muy simple ya que solo define unos cuantos tipos de datos y comandos útiles, además de una descripción completa de corta extensión. La simplicidad del XML-RPC contrasta con la mayoría de protocolos RPC que tiene una documentación extensa y requiere considerable soporte de software para su uso.

Fue creado por Dave Winer de la empresa UserLand Software en asociación con Microsoft en el año 1998. Al considerar Microsoft que era muy simple decidió añadirle funcionalidades, tras las cuales, después de varias etapas de desarrollo, el estándar dejó de ser sencillo y se convirtió en lo que es actualmente conocido como SOAP. Una diferencia fundamental es que en los procedimientos en SOAP los parámetros tienen nombre y no interesa su orden, no siendo así en XML-RPC.[2]

Tipos de Datos

Según la especificación de XML-RPC,[3] los principales tipos de datos son:

Nombre Tags de ejemplo Descripción
array
 <array>
   <data>
     <value><i4>1404</i4></value>
     <value><string>Algo aquí</string></value>
     <value><i4>1</i4></value>
   </data>
 </array>
Array de valores, sin almacenar claves
base64
 <base64>eW91IGNhbid0IHJlYWQgdGhpcyE=</base64>
Datos binarios codificados en base 64
boolean
 <boolean>1</boolean>
Valor lógico (0 o 1)
date/time
 <dateTime.iso8601>19980717T14:08:55</dateTime.iso8601>
Día y hora
double
 <double>-12.53</double>
Número de punto flotante de doble precisión
integer
 <i4>42</i4>

o

 <int>42</int>
Número entero
string
 <string>Hola mundo</string>
String (cadena) de caracteres. Debe seguir la codificación XML.
struct
 <struct>
   <member>
     <name>foo</name>
     <value><i4>1</i4></value>
   </member>
   <member>
     <name>bar</name>
     <value><i4>2</i4></value>
   </member>
 </struct>
Array de valores, almacenando claves
nil
 <nil/>
Valor nulo; una extensión XML-RPC
Other Languages
български: XML-RPC
català: XML-RPC
čeština: XML-RPC
Deutsch: XML-RPC
English: XML-RPC
eesti: XML-RPC
français: XML-RPC
italiano: XML-RPC
日本語: XML-RPC
한국어: XML-RPC
polski: XML-RPC
português: XML-RPC
русский: XML-RPC
Türkçe: XML-RPC
українська: XML-RPC
中文: XML-RPC