اكس أم ال-أر بيه سي
المظهر
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 |
<boolean>1</boolean>
|
ثنائي قيمة ثنائية (0 أو 1) |
date/time |
<dateTime.iso8601>19980717T14:08:55</dateTime.iso8601>
|
وقت وتاريخ بصيقة ايزو 8601 |
double |
<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: مكتبة مفتوحة المصدر للعة جافا
- [1]: 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
انظر أيضاً
[عدل]روابط
[عدل]مراجع
[عدل]- ^ Vizard، Michael؛ Walsh، Jeff (29 يونيو 1998). "DataChannel's Dave Pool talks about shaping the role of XML to suit different needs". Infoworld. مؤرشف من الأصل في 1999-09-16. اطلع عليه بتاريخ 2015-12-08.
- ^ Udell، Jon (7 يونيو 1999). "Exploring XML-RPC: DCOM? CORBA? RMI? Why Not Just XML-RPC?". Byte. مؤرشف من الأصل في 2000-03-04. اطلع عليه بتاريخ 2015-11-17.
- ^ Walsh، Jeff (10 يوليو 1999). "Microsoft spearheads protocol push". Infoworld. مؤرشف من الأصل في 1999-09-14. اطلع عليه بتاريخ 2015-11-17.