اكس أم ال-أر بيه سي
XML-RPC هو بروتوكول لنداء الإجراء البعيد يستخدم صيغة XML لترميز البيانات ويستخدم HTTP لنقل البيانات وتنفيذ ندائاته.
تاريخ
XML-RPC تم أنشائها في 1998 من قبل Dave Winer من UserLand Software وMicrosoft.
الأستخدام
XML-RPC تم أنشائها لكي تكون أبسط وأكثر فهم من SOAP.
JSON-RPC مثل XML-RPC.
أنواع البيانات
الاسم | مثال على التاج | وصف |
---|---|---|
array |
<source lang="xml"> <array> <value><i4>1404</i4></value> <value><string>بعض الكلمات هنا</string></value> <value><i4>1</i4></value> </array> </source> |
مصفوفة من القيم، بدون مفاتيح. |
base64 |
<source lang="xml"> <base64>eW91IGNhbid0IHJlYWQgdGhpcyE=</base64> </source> |
Base64-تشفير البيانات الثنائية |
boolean |
<source lang="xml"> <boolean>1</boolean> </source> |
ثنائي قيمة ثنائية (0 أو 1) |
date/time |
<source lang="xml"> <dateTime.iso8601>19980717T14:08:55</dateTime.iso8601> </source> |
وقت وتاريخ بصيقة ISO 8601 |
double |
<source lang="xml"> <double>-12.53</double> </source> |
رقم عشري (نوع بيانات) |
integer |
<source lang="xml"> <i4>42</i4> </source> أو <source lang="xml"> <int>42</int> </source> |
أي رقم, رقمي (نوع بيانات) |
string |
<source lang="xml"> <string>أهلاً بالعالم!</string> </source> |
نصوص وأرقام. |
struct |
<source lang="xml"> <struct> <member> <name>foo</name> <value><i4>1</i4></value> </member> <member> <name>bar</name> <value><i4>2</i4></value> </member> </struct> </source> |
Associative array |
nil |
<source lang="xml"> <nil/> </source> |
Discriminated null value; an XML-RPC extension |
أمثلة
مثال على طلب بال XML-RPC : <source lang="xml"> <?xml version="1.0"?> <methodCall>
<methodName>examples.getStateName</methodName> <params> <param> <value><i4>40</i4></value> </param> </params>
</methodCall> </source>
مثال على استجابة من XML-RPC : <source lang="xml"> <?xml version="1.0"?> <methodResponse>
<params> <param> <value><string>South Dakota</string></value> </param> </params>
</methodResponse> </source>
ناتج الخطا من XML-RPC: <source lang="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> </source>
تطبيقات
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 التي نشرها 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 Extensible Messaging and Presence Protocol protocol
شاهد أيضاً
روابط
bg:XML-RPC ca:XML-RPC cs:XML-RPC de:XML-RPC XML-RPC]] es:XML-RPC fa:اکسامال-ارپیسی fr:XML-RPC it:XML-RPC ja:XML-RPC ko:XML-RPC pl:XML-RPC pt:XML-RPC ru:XML-RPC uk:XML-RPC zh:XML-RPC