热门问题
时间线
聊天
视角

XML-RPC

来自维基百科,自由的百科全书

Remove ads

XML-RPC是一個遠端程序呼叫Remote Procedure Call,RPC)的分散式計算協定,通過XML將呼叫函數封裝,並使用HTTP協定作為傳送機制。[1]

歷史

XML-RPC發表於1998年,由UserLand SoftwareUserLand Software英語UserLand Software)的Dave WinerMicrosoft共同發表[2]。後來在新的功能不斷被引入下,這個標準慢慢演變成為今日的SOAP協定。

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

用法

XML-RPC呼叫過程是由客戶端通過向實現XML-RPC的伺服器傳送HTTP請求並接收響應實現。一次呼叫包含多個參數和一個結果。協定為參數和結果定義了若干資料類型。這些資料類型可以包含巢狀的,例如可以構建由五個整陣列成的陣列作為參數。

參數-結果結構和不同資料類型旨反映常見程式語言中使用的結構和資料類型。

可以使用流行的 HTTP 安全方法實現客戶端的授權辨識。基本認證可用於辨識和身份驗證。

JSON-RPC跟 XML-RPC 相類似。

資料類型

以下的例子為日常的資料類型在轉化為等同的XML後的面貌:

更多資訊 名稱, 標記範例 ...

範例

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

<?xml version="1.0"?>
<methodCall>
  <methodName>examples.getStateName</methodName>
  <params>
    <param>
        <value><i4>40</i4></value>
    </param>
  </params>
</methodCall>

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

<?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>
Remove ads

批評

實現

Python

C++

Objective-C / GNUstep / Cocoa

Erlang

Java

Remove ads

XMPP

Other

參看

參考資料

外部連結

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads