XML-RPC هو بروتوكول لنداء الإجراء البعيد يستخدم صيغة XML لترميز البيانات ويستخدم HTTP لنقل البيانات وتنفيذ ندائاته.[1][2][3]
تاريخ
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
|
|
ثنائي قيمة ثنائية (0 أو 1)
|
date/time
|
<dateTime.iso8601>19980717T14:08:55</dateTime.iso8601>
|
وقت وتاريخ بصيقة ايزو 8601
|
double
|
|
رقم عشري (نوع بيانات)
|
integer
|
أو
|
أي رقم، رقمي (نوع بيانات)
|
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
|
|
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++
Objective-C / GNUstep / Cocoa
Erlang
Java
XMPP
انظر أيضاً
روابط
مراجع