當(dāng)發(fā)起一個rpc調(diào)用時,除通知之外,服務(wù)端都必須回復(fù)響應(yīng)。響應(yīng)表示為一個JSON對象,使用以下成員:
jsonrpc
指定JSON-RPC協(xié)議版本的字符串,必須準確寫為“2.0”
result
該成員在成功時必須包含。
當(dāng)調(diào)用方法引起錯誤時必須不包含該成員。
服務(wù)端中的被調(diào)用方法決定了該成員的值。
error
該成員在失敗是必須包含。
當(dāng)沒有引起錯誤的時必須不包含該成員。
該成員參數(shù)值必須為5.1中定義的對象。
id
該成員必須包含。
該成員值必須于請求對象中的id成員值一致。
若在檢查請求對象id時錯誤(例如參數(shù)錯誤或無效請求),則該值必須為空值。
響應(yīng)對象必須包含result或error成員,但兩個成員必須不能同時包含。
當(dāng)一個rpc調(diào)用遇到錯誤時,返回的響應(yīng)對象必須包含錯誤成員參數(shù),并且為帶有下列成員參數(shù)的對象:
code
使用數(shù)值表示該異常的錯誤類型。 必須為整數(shù)。
message
對該錯誤的簡單描述字符串。 該描述應(yīng)盡量限定在簡短的一句話。
data
包含關(guān)于錯誤附加信息的基本類型或結(jié)構(gòu)化類型。該成員可忽略。 該成員值由服務(wù)端定義(例如詳細的錯誤信息,嵌套的錯誤等)。
-32768至-32000為保留的預(yù)定義錯誤代碼。在該范圍內(nèi)的錯誤代碼不能被明確定義,保留下列以供將來使用。錯誤代碼基本與XML-RPC建議的一樣,url:?http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php
code | message | meaning |
---|---|---|
-32700 | Parse error語法解析錯誤 | 服務(wù)端接收到無效的json。該錯誤發(fā)送于服務(wù)器嘗試解析json文本 |
-32600 | Invalid Request無效請求 | 發(fā)送的json不是一個有效的請求對象。 |
-32601 | Method not found找不到方法 | 該方法不存在或無效 |
-32602 | Invalid params無效的參數(shù) | 無效的方法參數(shù)。 |
-32603 | Internal error內(nèi)部錯誤 | JSON-RPC內(nèi)部錯誤。 |
-32000 to -32099 | Server error服務(wù)端錯誤 | 預(yù)留用于自定義的服務(wù)器錯誤。 |
除此之外剩余的錯誤類型代碼可供應(yīng)用程序作為自定義錯誤。
更多建議: