اكس أم ال-أر بيه سي

XML-RPC هو بروتوكول لنداء الإجراء البعيد يستخدم صيغة XML لترميز البيانات ويستخدم HTTP لنقل البيانات وتنفيذ ندائاته.
 تاريخ 

XML-RPC تم أنشائها في 1998 من قبل Dave Winer من UserLand Software وMicrosoft.

 الأستخدام 

XML-RPC تم أنشائها لكي تكون أبسط وأكثر فهم من SOAP.

JSON-RPC مثل XML-RPC.

 أنواع البيانات 

الاسممثال على التاجوصفarray<array>
  <data>
    <value><i4>1404</i4></value>
    <value><string>بعض الكلمات هنا</string></value>
    <value><i4>1</i4></value>
  </data>
</array>مصفوفة من القيم، بدون مفاتيح.base64<base64>eW91IGNhbid0IHJlYWQgdGhpcyE=</base64>الأساس 64-تشفير البيانات الثنائيةboolean<boolean>1</boolean>ثنائي قيمة ثنائية (0 أو 1)date/time<dateTime.iso8601>19980717T14:08:55</dateTime.iso8601>وقت وتاريخ بصيقة ايزو 8601double<double>-12.53</double>رقم عشري (نوع بيانات)integer<i4>42</i4>
أو
<int>42</int>أي رقم، رقمي (نوع بيانات)string<string>أهلاً بالعالم!</string>نصوص وأرقام.struct<struct>
  <member>
    <name>foo</name>
    <value><i4>1</i4></value>
  </member>
  <member>
    <name>bar</name>
    <value><i4>2</i4></value>
  </member>
</struct>مصفوفة ارتباطيةnil<nil/>Discriminated null value; an XML-RPC extension

 أمثلة 

مثال على طلب بال XML-RPC :
<?xml version="1.0"?>
<methodCall>
  <methodName>examples.getStateName</methodName>
  <params>
    <param>
        <value><i4>40</i4></value>
    </param>
  </params>
</methodCall>

مثال على استجابة من XML-RPC :
<?xml version="1.0"?>
<methodResponse>
  <params>
    <param>
        <value><string>South Dakota</string></value>
    </param>
  </params>
</methodResponse>

ناتج الخطا من XML-RPC:
<?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>

 تطبيقات 
 C++ 
 Libiqxmlrpc
 Ultra lightweight XML-RPC library for C++
 XML-RPC for C and C++
 XmlRpc++
 XmlRpc C++ client for Windows

 Objective-C / GNUstep / Cocoa 
 XMLRPC Framework
 Cocoa XML-RPC Framework: بيئة عمل XML-RPC مفتوحة المصدر، تم كتابتها لتطبيق Cocoa.

 Erlang 
 XML-RPC للغة Erlang: مكتبة HTTP 1.1 متوافقة مع XML-RPC للغة Erlang. تم تصميمها لكتابة عملاء وخدمات XML-RPC بسهولة في Erlang. المكتبة متوافقة مع معايير XML-RPC التي نشرها https://web.archive.org/web/20051210031514/http://www.xmlrpc.org/

 Java 
 Apache XML-RPC: مكتبة مفتوحة المصدر للعة جافا
 : 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: فئات بيثون للـ XMPP
 Jabber-RPC: Over the إكس إم بي بي protocol

 انظر أيضاً 
 SOAP
 أجاكس
 أو بي إم إل
 خدمة ويب

 روابط 
 XML-RPC Homepage
 Forum
 Tutorials
 Technology Reports
 Citations from CiteSeer
 مراجع 

تصنيف:بروتوكولات الإنترنت
تصنيف:خدمات الويب
تصنيف:لغة التأشير الوسوعة
تصنيف:معايير الحاسوب
تصنيف:نداء الإجراء البعيد