XML-RPC初學 第一篇
近期開始瞭解XML-RPC,並且嘗試着去了解這個技術。從網上頁找了很多資料,也做了一些例子。在此就把這段時間的積累寫下來,大家分享
1、什麼是 XML-RPC
首先 RPC 叫做遠程過程調用,那麼,XML-RPC可以理解爲,採用了XML描述的遠程過程調用。也就是說,遠程過程調用
用XML來表示。
其次 既然是遠程過程調用,那麼就需要進行遠程訪問,採用HTTP協議,可以做的很好,分爲客戶端/服務器端
遠程過程,實際上就是客戶端,提交相應的方法請求以及參數,服務器端做出處理,並且返回結果
2、方法請求
1)採用POST方式提交請求
2)HTTP頭字段 Content-Type 內容 必須是 text/xml
3)HTTP頭字段 Content-Length 內容,是提交的數據長度
4)方法請求,假設 調用的方法名稱是,example.echo,方法參數是一個字符串,返回的結果是 一個相同的字符串
請求部分:
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>example.echo</methodName>
<params>
<param>
<value>
<string>Hello, I call the remote service</string>
</value>
</param>
</params>
</methodCall>
注意 XML-RPC 的解析,生成都是區分大小寫的,因此,必須按照上面的大小寫方式,尤其是 methodCall methodName
3、方法響應
1)方法在POST請求後,會返回
2)返回的Content-Type爲text/xml
3)方法返回部分
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse> <!-- 區分大小寫 -->
<params>
<param>
<value>
<string>Server echo: Hello, I call the remote service </string>
</value>
</param>
</params>
</methodResponse>
4)對於返回內容,一共有兩種形式,一種是 正確返回,一種是返回錯誤,對於返回值,
methodResponse 只能夠含有一個 params,一個params只能含有一個 param,一個param只能含有一個value
5)返回出錯信息方式
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value>
<i4>32</i4>
</value>
</member>
<member>
<name>faultString</name>
<value>
<string>Parameter is too short , need type</string>
</value>
</member>
</struct>
</value>
</fault>
</methodResponse>
這個方式返回一個 Hashtable 包含了錯誤代碼和錯誤信息
4、參考
1)XML-RPC http://www.xmlrpc.com
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.