fbpx
Wikipedia

XML-RPC

XML-RPC (Remote Procedure Call) 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

Ejemplos

  • Una invocación XML-RPC podría ser:
 <?xml version="1.0"?> <methodCall> <methodName>org.wikipedia.intercambioDatos</methodName> <params> <param> <value><i4>360</i4></value> </param> <param> <value><i4>221</i4></value> </param> </params> </methodCall> 
  • Una respuesta a la invocación:
 <?xml version="1.0"?> <methodResponse> <params> <param> <value><string>Intercambio datos nro. 360 por 221</string></value> </param> </params> </methodResponse> 

Implementaciones

Existen implementaciones para varios sistemas operativos, lenguajes de programación, licencias comerciales y de software libre:[4]C/C++, Delphi, Frontier, Guile, Java, Lisp, Microsoft .NET, Perl, PHP, Python, Real Basic, Rebol, Tcl, WebObjects y Zope.

Algunas implementaciones conocidas son:

  • Apache XML-RPC,[5]​ una implementación en Java.
  • XMLRPC-EPI,[6]​ una implementación C.
  • XML-RPC-C,[7]​ una implementación para C y C++.

Referencias

  1. Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) O'Reilly. First Edition. Foreword by Dave Winer. (en inglés)
  2. Dave Winer. (Mar 31, 2001). UserLand Software, Inc. (en inglés)
  3. Dave Winer. (June 15, 1999) XML-RPC Specification el 15 de junio de 2007 en Wayback Machine. UserLand Software, Inc. (en inglés)
  4. Dave Winer. (December 17, 2003) UserLand Software, Inc. (en inglés)
  5. Apache Software Foundation. Apache XML-RPC (en inglés).
  6. Epinions, Inc. XMLRPC-EPI sourceforge.net (en inglés).
  7. Eric Kidd. XML-RPC for C and C++ sourceforge.net (en inglés).

Véase también

Enlaces externos

  • Sitio oficial de XML-RPC, UserLand Software, Inc. (en inglés)
  • (en inglés)
  •   Datos: Q1046238

remote, procedure, call, protocolo, llamada, procedimiento, remoto, para, codificar, datos, http, como, protocolo, transmisión, mensajes, protocolo, simple, solo, define, unos, cuantos, tipos, datos, comandos, útiles, además, descripción, completa, corta, exte. XML RPC Remote Procedure Call es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmision de mensajes 1 Es un protocolo muy simple ya que solo define unos cuantos tipos de datos y comandos utiles ademas de una descripcion completa de corta extension La simplicidad del XML RPC contrasta con la mayoria de protocolos RPC que tiene una documentacion extensa y requiere considerable soporte de software para su uso Fue creado por Dave Winer de la empresa UserLand Software en asociacion con Microsoft en el ano 1998 Al considerar Microsoft que era muy simple decidio anadirle funcionalidades tras las cuales despues de varias etapas de desarrollo el estandar dejo de ser sencillo y se convirtio en lo que es actualmente conocido como SOAP Una diferencia fundamental es que en los procedimientos en SOAP los parametros tienen nombre y no interesa su orden no siendo asi en XML RPC 2 Indice 1 Tipos de Datos 2 Ejemplos 3 Implementaciones 4 Referencias 5 Vease tambien 6 Enlaces externosTipos de Datos EditarSegun la especificacion de XML RPC 3 los principales tipos de datos son Nombre Tags de ejemplo Descripcionarray lt array gt lt data gt lt value gt lt i4 gt 1404 lt i4 gt lt value gt lt value gt lt string gt Algo aqui lt string gt lt value gt lt value gt lt i4 gt 1 lt i4 gt lt value gt lt data gt lt array gt Array de valores sin almacenar clavesbase64 lt base64 gt eW91IGNhbid0IHJlYWQgdGhpcyE lt base64 gt Datos binarios codificados en base 64boolean lt boolean gt 1 lt boolean gt Valor logico 0 o 1 date time lt dateTime iso8601 gt 19980717T14 08 55 lt dateTime iso8601 gt Dia y horadouble lt double gt 12 53 lt double gt Numero de punto flotante de doble precisioninteger lt i4 gt 42 lt i4 gt o lt int gt 42 lt int gt Numero enterostring lt string gt Hola mundo lt string gt String cadena de caracteres Debe seguir la codificacion XML struct lt struct gt lt member gt lt name gt foo lt name gt lt value gt lt i4 gt 1 lt i4 gt lt value gt lt member gt lt member gt lt name gt bar lt name gt lt value gt lt i4 gt 2 lt i4 gt lt value gt lt member gt lt struct gt Array de valores almacenando clavesnil lt nil gt Valor nulo una extension XML RPCEjemplos EditarUna invocacion XML RPC podria ser lt xml version 1 0 gt lt methodCall gt lt methodName gt org wikipedia intercambioDatos lt methodName gt lt params gt lt param gt lt value gt lt i4 gt 360 lt i4 gt lt value gt lt param gt lt param gt lt value gt lt i4 gt 221 lt i4 gt lt value gt lt param gt lt params gt lt methodCall gt Una respuesta a la invocacion lt xml version 1 0 gt lt methodResponse gt lt params gt lt param gt lt value gt lt string gt Intercambio datos nro 360 por 221 lt string gt lt value gt lt param gt lt params gt lt methodResponse gt Implementaciones EditarExisten implementaciones para varios sistemas operativos lenguajes de programacion licencias comerciales y de software libre 4 C C Delphi Frontier Guile Java Lisp Microsoft NET Perl PHP Python Real Basic Rebol Tcl WebObjects y Zope Algunas implementaciones conocidas son Apache XML RPC 5 una implementacion en Java XMLRPC EPI 6 una implementacion C XML RPC C 7 una implementacion para C y C Referencias Editar Simon St Laurent Joe Johnston Edd Dumbill June 2001 Programming Web Services with XML RPC O Reilly First Edition Foreword by Dave Winer en ingles Dave Winer Mar 31 2001 Heads up A key difference between SOAP and XML RPC UserLand Software Inc en ingles Dave Winer June 15 1999 XML RPC Specification Archivado el 15 de junio de 2007 en Wayback Machine UserLand Software Inc en ingles Dave Winer December 17 2003 XML RPC Implementations UserLand Software Inc en ingles Apache Software Foundation Apache XML RPC en ingles Epinions Inc XMLRPC EPI sourceforge net en ingles Eric Kidd XML RPC for C and C sourceforge net en ingles Vease tambien Editar Portal Informatica Contenido relacionado con Informatica SOAP IDL XML RPCEnlaces externos EditarSitio oficial de XML RPC UserLand Software Inc en ingles Extensiones XML RPC en ingles Datos Q1046238 Obtenido de https es wikipedia org w index php title XML RPC amp oldid 125280876, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos