اکس‌ام‌ال-ارپی‌سی

**اکس‌ام‌ال-ارپی‌سی** یک پروتکل «فراخوانی دستورها از راه دور» است که با اکس‌ام‌ال و با استفاده از مکانیسم انتقالی اچ‌تی‌تی‌پی اطلاعات را منتقل می‌کند.

## تاریخچه
XML-RPC اولین بار توسط دیو وینر از شرکت userland به همراه مایکروسافت در سال ۱۹۹۸ تولید شد. نسخهٔ بهبود یافتهٔ آن SOAP است.

## نمونه
### یک نمونه از درخواست معمولی توسط XML-RPC

```xml
<?xml version="1.0"?>
<methodCall>
  <methodName>examples.getStateName</methodName>
  <params>
    <param>
        <value><i4>40</i4></value>
    </param>
  </params>
</methodCall>
```


### یک نمونه از پاسخ‌دهی توسط XML-RPC

```xml
<?xml version="1.0"?>
<methodResponse>
  <params>
    <param>
        <value><string>South Dakota</string></value>
    </param>
  </params>
</methodResponse>
```


### یک نمونه برای عملکرد نادرست XML-RPC

```xml
<?xml version="1.0"?>
<methodResponse>
  <fault>
    <value>
      <struct>
        <member>
          <name>faultCode</name>
          <value><int>4</int></value>
        </member>
        <member>
          <name>faultString</name>
          <value><string>Too many parameters.</string></value>
        </member>
      </struct>
    </value>
  </fault>
</methodResponse>
```


## موارد استفاده
### پایتون
* xmlrpclib
** در پایتون۳ به xmlrpc.client تغییر نام یافته‌است.
* Creating XML-RPC Servers and Clients with Twisted

### [[C++]]
* Libiqxmlrpc
* یک کتابخانهٔ سبک از xmlrpc برای سی‌پلاس‌پلاس
* XML-RPC برای C و C++
* XmlRpc++
* XmlRpc C++ کلاینت برای سیستم‌عامل ویندوز
* gSOAP toolkit for C and C++ supporting XML-RPC and more
* libmaia: XML-RPC برای Qt/C++

### Objective-C / GNUstep / Cocoa
* XMLRPC فریمورک
* Cocoa XML-RPC Framework: نسخهٔ اپن‌سورس فریمورک XML-RPC که برای استفاده در سیستم‌عامل مک اواس نوشته شده‌است.

### Erlang
* XML-RPC for Erlang: This is an HTTP ۱٫۱ 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/

### جاوا
* Apache XML-RPC: یک کتابخانه‌ی اپن‌سورس برای جاوا
* XML-RPC Delight: Convenient serialisation/deserialisation for Apache XML-RPC using Java Annotations and Beans
* https://web.archive.org/web/20051116090755/http://members.fortunecity.com/neptune42/xmlrpc/index.htm: Secure Apache XML-RPC
* Redstone XML-RPC Library: Redstone's Open Source Library - XML-RPC implementation in Java
* XML-RPC Library for Java ME: Open source client-side library for Java ME

### XMPP
* pyJabberXMLRPC : Python classes for XMPP
* Jabber-RPC: Over the اکس‌ام‌پی‌پی protocol

### پرل
* RPC::XML: A set of Perl classes for core data، message and XML handling
* XML::RPC: Perl module implementation

### Other
* JSON/XML-RPC Client and Server: Abstract away the differences between JSON-RPC and XML-RPC
* RemObjects SDK Delphi and.NET package for XML-RPC، in addition to SOAP and others
* RealThinClient SDK: For Delphi/C++
* XML-RPC for ActionScript: For Flash ActionScript ۲٫۰
* as۳-rpclib: For Flex/Actionscript ۳
* XML-RPC.NET: Open source library for.NET clients and servers
* XmlRpc-Light: Client and server library for OCaml
* S-XML-RPC: Client and server library for Common Lisp
* clj-xmlrpc: XML-RPC client for Clojure
* necessary-evil: XML-RPC Client and Ring-based Server for Clojure
* PHP-XML-RPC: For PHP
* crVCL PHP Framework: Fast PHP Framework with native XML-RPC library
* 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: A light XML-RPC client for Google Android
* XML-RPC for Tcl: A Tcl implementation of XML-RPC providing client and server support
* http://earl.strain.at/space/rebXR+Users+Guide: RebXR، a full client/server XML-RPC implementation for REBOL.

## جستارهای وابسته
ای‌جکس

## پانویس

رده:استانداردهای اکس‌ام‌ال-مبنا
رده:اکس‌ام‌ال
رده:پروتکل‌های اینترنت
رده:تماس با رویه دوردست
رده:خدمات وب