XML-RPC

XML-RPC是一個远程过程调用(,RPC)的分布式计算協議,通过XML将调用函数封装,並使用HTTP协议作為傳送機制。

歷史
XML-RPC發表於1998年,由UserLand Software()的Dave Winer及Microsoft共同發表。後來在新的功能不斷被引入下,這個標準慢慢演變成為今日的SOAP協定。

XML-RPC協定是已登記的專利項目,由Phillip Merrick、Stewart Allen及Joseph Lapp共同持有,於1998年3月提出申請,指其將用於一個構想中的應用程式,並於2006年4月獲得接納。現時這個專利由位於美國維珍尼亞州費爾法克斯的webMethods使用。

用法
XML-RPC调用过程是由客户端通过向实现XML-RPC的服务器发送HTTP请求并接收响应实现。一次调用包含多个参数和一个结果。协议为参数和结果定义了若干数据类型。这些数据类型可以包含嵌套的,例如可以构建由五个整数组成的数组作为参数。

参数-结果结构和不同数据类型旨反映常见编程语言中使用的结构和数据类型。

可以使用流行的 HTTP 安全方法实现客户端的授权识别。基本认证可用于识别和身份验证。

JSON-RPC跟 XML-RPC 相類似。

数据类型
以下的例子為日常的数据类型在轉化為等同的XML後的面貌:

範例
以下為一個尋常的 XML-RPC 請求的範例:

examples.getStateName

40

相對於上述請求,以下為一個尋常回應的範例:

South Dakota

以下為一個尋常的 XML-RPC 錯誤:

faultCode
4

faultString
Too many parameters.

批評
实现
Python

** Renamed [http://docs.python.org/3.1/library/xmlrpc.client.html xmlrpc.client] in Python 3.

C++

Objective-C / GNUstep / Cocoa

Erlang

Java

XMPP

Other

參看
*AJAX
*Component technologies
*List of Web service markup languages
*OPML
*Web服務

參考資料
外部連結

评论 (0)

  • 还没有评论,来抢沙发吧。