- XML-RPC
XML-RPC is a
remote procedure call protocol which usesXML to encode its calls andHTTP as a transport mechanism. Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) "Programming Web Services with XML-RPC." O'Reilly. First Edition. ]Overview
XML-RPC is a very simple protocol, defining only a handful of
data type s and commandsDave Winer. (June 15, 1999) " [http://www.xmlrpc.com/spec XML-RPC Specification] " UserLand Software, Inc.] , and the entire description can be printed on two pages of paper. This is in stark contrast to most RPC systems, where the standards documents often run into the hundreds of pages and require considerablesoftware support in order to be used.History
XML-RPC was created in
1998 byDave Winer ofUserLand Software andMicrosoft [cite web
last = Box
first = Don
title = A Brief History of SOAP
publisher =O'Reilly
date =2001-04-01
url = http://webservices.xml.com/pub/a/ws/2001/04/04/soap.html
accessdate = 2008-10-09 ] . As new functionality was introduced, the standard evolved into what is nowSOAP .XML-RPC was patented by
Phillip Merrick , Stewart Allen, and Joseph Lapp inApril 2006 , claiming benefit to a provisional application filed in March 1998. The patent is assigned towebMethods , located inFairfax, VA . cite web |url=http://www.google.com/patents?id=WFV4AAAAEBAJ |title=US Patent 7,028,312 |accessdate=2008-09-18 |author=Merrick et al. |date=2006-04-11]Usage
Some people prefer XML-RPC to
SOAP because of its simplicity, minimalism, and ease of use.JSON-RPC is similar to XML-RPC.Data types
Examples
An example of a typical XML-RPC request would be:
An example of a typical XML-RPC response would be:
A typical XML-RPC fault would be:
Implementations
C++
* [http://libiqxmlrpc.sourceforge.net/ Libiqxmlrpc]
* [http://ulxmlrpcpp.sourceforge.net/ Ultra lightweight XML-RPC library for C++]
* [http://xmlrpc-c.sourceforge.net/ XML-RPC for C and C++]
* [http://xmlrpcpp.sourceforge.net/ XmlRpc++]Objective-C / GNUstep / Cocoa
* [http://www.mulle-kybernetik.com/software/XMLRPC/ XMLRPC Framework]
* [http://divisiblebyzero.com/ Cocoa XML-RPC Framework] : Open Source XML-RPC framework written for use in Mac OS X Cocoa applications.Java
* [http://ws.apache.org/xmlrpc/ Apache XML-RPC] : Open source library for Java
* [http://delight.opendfki.de/ XML-RPC Delight] : Convenient serialisation/deserialisation for Apache XML-RPC using Java Annotations and Beans
* [http://members.fortunecity.com/neptune42/xmlrpc/index.htm] : Secure Apache XML-RPC
* [http://xmlrpc.sourceforge.net/ Redstone XML-RPC Library] : Redstone's Open Source Library - XML-RPC implementation in Java
* [http://kxmlrpc.sourceforge.net/ XML-RPC Library for Java ME] : Open source client-side library for Java MEJabber
* [http://gdr.geekhood.net/gdrwpl/jxmlrpc.php pyJabberXMLRPC] : Python classes for Jabber
* [http://www.xmpp.org/extensions/xep-0009.html Jabber-RPC] : Over theJabber protocolOther
* [http://code.google.com/p/json-xml-rpc/ JSON/XML-RPC Client and Server] : Abstract away the differences between JSON-RPC and XML-RPC
* [http://www.remobjects.com/ro RemObjects SDK] For XML-RPC, in addition toSOAP and others
* [http://www.realthinclient.com RealThinClient SDK] : For Delphi/C++
* [http://search.cpan.org/~daan/XML-RPC-0.5/lib/XML/RPC.pm XML::RPC] : Perl module implementation
* [http://www.python.org/doc/lib/module-xmlrpclib.html xmlrpclib] : Included in Python's standard library since 2.2
* [http://xmlrpcflash.mattism.com XML-RPC for ActionScript] : For Flash ActionScript 2.0
* [http://www.xml-rpc.net XML-RPC.NET] : Open source library for .NET clients and servers
* [http://code.google.com/p/xmlrpc-light/ XmlRpc-Light] : Client and server library for OCaml
* [http://common-lisp.net/project/s-xml-rpc/ S-XML-RPC] : Client and server library for Common Lisp
* [http://phpxmlrpc.sourceforge.net/ PHP-XML-RPC] : For PHP
* [http://www.haskell.org/haxr/ HaXR] : Client and server library for Haskellee also
*
Ajax (programming)
*Component technologies
*List of Web service markup languages
*OPML
*Web service References
External links
* [http://www.xmlrpc.com/ XML-RPC Homepage]
* [http://groups.yahoo.com/group/xml-rpc/ Forum]
* [http://www.xml.com/pub/rg/XML_RPC_Tutorials Tutorials]
* [http://xml.coverpages.org/xml-rpc.html Technology Reports]
* [http://citeseer.org/cs?q=XML+and+RPC Citations from CiteSeer]
Wikimedia Foundation. 2010.