XML-RPC


XML-RPC es un protocolo de llamada a procedimiento remoto (RPC) que utiliza XML para codificar sus llamadas y HTTP como mecanismo de transporte. [1]

El protocolo XML-RPC fue creado en 1998 por Dave Winer de UserLand Software y Microsoft , [2] y Microsoft considera que el protocolo es una parte esencial para ampliar sus esfuerzos en el comercio electrónico de empresa a empresa. [3] A medida que se introdujeron nuevas funciones, el estándar evolucionó hasta convertirse en lo que ahora es SOAP . [4]

UserLand admitió XML-RPC desde la versión 5.1 de su sistema de administración de contenido web Frontier, [4] lanzado en junio de 1998. [5]

La idea de XML-RPC de un estándar analizable por secuencias de comandos legible y escribible por humanos para solicitudes y respuestas basadas en HTTP también se ha implementado en especificaciones de la competencia, como Web Distributed Data Exchange (WDDX) de Allaire y WebMethod's Web Interface Definition Language (WIDL). ). [6] La técnica anterior envolviendo objetos COM , CORBA y Java RMI en sintaxis XML y transportándolos a través de HTTP también existía en la tecnología WebBroker de DataChannel. [7] [8]

El uso genérico de XML para llamadas a procedimientos remotos (RPC) fue patentado por Phillip Merrick, Stewart Allen y Joseph Lapp en abril de 2006, reclamando el beneficio de una solicitud provisional presentada en marzo de 1998. La patente fue asignada a webMethods , ubicada en Fairfax, VA . La patente expiró el 23 de marzo de 2019 [9]

En XML-RPC, un cliente realiza una RPC enviando una solicitud HTTP a un servidor que implementa XML-RPC y recibe la respuesta HTTP. Una llamada puede tener múltiples parámetros y un resultado. El protocolo define algunos tipos de datos para los parámetros y el resultado. Algunos de estos tipos de datos son complejos, es decir, anidados. Por ejemplo, puede tener un parámetro que sea una matriz de cinco enteros.