【XML-RPC】
XML-RPC是一个远程过程调用（Remote Procedure Call，RPC）的分布式计算协议，通过XML将调用函数封装，并使用HTTP协议作为传送机制。
== 历史 ==
XML-RPC发表于1998年，由UserLand Software（UserLand Software）的Dave Winer及Microsoft共同发表。后来在新的功能不断被引入下，这个标准慢慢演变成为今日的SOAP协定。
XML-RPC协定是已登记的专利项目，由Phillip Merrick、Stewart Allen及Joseph Lapp共同持有，于1998年3月提出申请，指其将用于一个构想中的应用程式，并于2006年4月获得接纳。现时这个专利由位于美国维珍尼亚州费尔法克斯的webMethods使用。
== 用法 ==
XML-RPC透过向装置了这个协定的伺服器发出HTTP请求。发出请求的用户端一般都是需要向远端系统要求呼叫的软件。
JSON-RPC（JSON-RPC）跟 XML-RPC 相类似。
==数据类型==
以下的例子为日常的数据类型在转化为等同的XML后的面貌：
== 范例 ==
以下为一个寻常的 XML-RPC 请求的范例：
examples.getStateName
40
相对于上述请求，以下为一个寻常回应的范例：
South Dakota
以下为一个寻常的 XML-RPC 错误：
faultCode
4
faultString
Too many parameters.
== 批评 ==
== 实现 ==
=== Python ===
*  xmlrpclib
** Renamed  xmlrpc.client date=20161206172954  in Python 3.
*  Creating XML-RPC Servers and Clients with Twisted date=20220317070213
=== C++ ===
*  Libiqxmlrpc date=20050329023614
*  Ultra lightweight XML-RPC library for C++ date=20220501005010
*  XML-RPC for C and C++ date=20220303110154
*  XmlRpc++ date=20220328100821
*  XmlRpc C++ client for Windows date=20220421170450
*  gSOAP toolkit for C and C++ supporting XML-RPC and more date=20130621044029
*  libmaia: XML-RPC for Qt/C++ date=20210623215838
=== Objective-C / GNUstep / Cocoa ===
*  XMLRPC Framework date=20220314030029
*  Cocoa XML-RPC Framework date=20220313065425 : Open Source XML-RPC framework written for use in Mac OS X Cocoa applications.
=== Erlang ===
*  XML-RPC for Erlang: This is an HTTP 1.1 compliant XML-RPC library for Erlang. It is designed to make it easy to write XML-RPC Erlang clients and/or servers. The library is compliant with the XML-RPC specification published by https://web.archive.org/web/20051210031514/http://www.xmlrpc.org/
=== Java ===
*  Apache XML-RPC date=20220412022415 : Open source library for Java
*  XML-RPC Delight date=20150627034622 : Convenient serialisation/deserialisation for Apache XML-RPC using Java Annotations and Beans
* : Secure Apache XML-RPC
*  Redstone XML-RPC Library date=20210702072602 : Redstone's Open Source Library - XML-RPC implementation in Java
*  XML-RPC Library for Java ME date=20220330055918 : Open source client-side library for Java ME
=== XMPP ===
*  pyJabberXMLRPC date=20110720180311 : Python classes for XMPP
*  Jabber-RPC date=20220503161500 : Over the Extensible Messaging and Presence Protocol protocol
=== Other ===
*  JSON/XML-RPC Client and Server date=20160118075354 : Abstract away the differences between JSON-RPC and XML-RPC
*  RemObjects SDK date=20220412014439  Delphi and .NET package for XML-RPC, in addition to SOAP and others
*  RealThinClient SDK date=20180214094628 : For Delphi/C++
*  XML::RPC date=20180614231017 : Perl module implementation
*  XML-RPC for ActionScript date=20150218202950 : For Flash ActionScript 2.0
*  as3-rpclib date=20160526134128 : For Flex/Actionscript 3
*   XML-RPC.NET: Open source library for .NET clients and servers
*  XmlRpc-Light date=20160412210524 : Client and server library for OCaml
*  S-XML-RPC date=20200220064256 : Client and server library for Common Lisp
*  PHP-XML-RPC date=20130903091655 : For PHP
*  HaXR: Client and server library for Haskell
*  xi library with PHP and Javascript XML-RPC: For PHP and Javascript
*  Ruby XML-RPC library: For Ruby
*  XML-RPC interface to Lua: For Lua
*  android-xmlrpc date=20160115093538 : A light XML-RPC client for Google Android
*  XML-RPC for Tcl date=20210702194720 : A Tcl implementation of XML-RPC providing client and server support
*  date=20220331031321 : RebXR, a full client/server XML-RPC implementation for REBOL.
== 参看 ==
*AJAX
*Component technologies
*List of Web service markup languages
*OPML
*Web服务