294
微信
錯誤代碼__產品使用問題_雲服務總線 CSB-阿裏雲
消費端通過CSB調用服務時,整個鏈路上可以分成三個階段:
- 服務消費端應用以消費端協議訪問CSB
- CSB處理轉發服務調用請求
- CSB以提供端協議訪問服務提供端應用
這三個部分都可能出錯,服務消費端收到錯誤信息時要能區別是在哪個階段發生了什麼錯誤,需要考慮如何通過消費端協議定義的錯誤信息結構來體現。消費端協議定義的錯誤信息結構多種多樣,也可能有各種限製,但是通常都至少會提供錯誤代碼和錯誤描述,而且錯誤代碼應該都有保留或者未占用的、代表“其它錯誤”的編碼(下稱:逃逸代碼 Escape Code)。基於這個前提,可以定義如下約定:
階段1發生的錯誤不用做任何處理。
階段2及之後發生的錯誤,約定使用消費端協議的某個Escape Code,具體CSB錯誤代碼和描述以固定格式體現在消費端錯誤描述內,如[CSB Error Code] CSB Error Message。
階段3發生的錯誤,同上處理,但是CSB Error Code也提供Escape Code表示這是一個階段3錯誤,且CSB Error Message的格式定義為[提供端協議錯誤代碼] 提供端協議錯誤信息。這裏要注意的是,CSB需要了解提供端協議的錯誤代碼中哪些表示正常訪問,以免將成功的訪問當做錯誤處理。
基於上述約定,我們對錯誤代碼的定義如下。
CSB 錯誤代碼列表
其中800為 CSB Escape Code。
錯誤代碼 | 錯誤說明 |
---|---|
200 | 訪問處理成功 |
500 | CSB內部錯誤 |
501 | 所訪問的服務API未經授權 |
502 | 訪問簽名未通過驗證,也包括所提供的訪問憑證不存在的情況 |
504 | 所訪問的服務API不存在 |
505 | 訪問憑證缺失 |
506 | 訪問簽名缺失 |
507 | 訪問參數缺失 |
508 | 訪問要求通過安全通道進行 |
509 | 訪問時間戳缺失 |
510 | 訪問過期,請檢查網絡通路是否穩定 |
800 | [提供端協議錯誤代碼] 提供端協議錯誤信息 |
801 | 服務提供端不可達。如果提供端協議會報告該類型錯誤,將會通過上麵的800 Escape Code體現 |
消費端協議 Escape Code 列表
消費端協議 | Escape Code |
---|---|
HTTP類 | 500 |
HSF | 99 |
舉例說明
消費端應用以HSF協議通過CSB訪問一個後端HSF服務,三個階段的錯誤舉例如下:
錯誤階段 | 錯誤示例 |
---|---|
第一階段錯誤 | CSB的HSF協議處理器發現消費端發出的HSF請求格式不正確,以HSF錯誤40 “bad request”直接回複消費端。 |
第二階段錯誤 | CSB在處理消費端發出的HSF請求時,發現所訪問的API並不存在,以HSF錯誤 99 “[504]所訪問的服務API(taobao.unknown)在實例(instance0733)上不存在” 回複消費端。其中99為消費端協議HSF的Escape Code |
第三階段錯誤 | CSB處理消費端發出的HSF請求,在訪問後端服務提供者時,HSF服務框架報錯60 “service not found”,CSB以HSF錯誤 99 “[800][60] service not found” 回複消費端。其中99為消費端協議的Escape Code,800為CSB的Escape Code |
第三階段錯誤 | CSB處理消費端發出的HSF請求,在訪問後端服務提供者時,HSF服務提供應用出錯,因為HSF框架不支持返回具體應用邏輯錯誤信息,僅僅報錯為80 “server error”,CSB以HSF錯誤 99 “[800][80] server error” 回複消費端。這裏具體的應用錯誤隻能在應用服務提供端看到,如果後端是其它比較開放的協議框架(用X代替),具體的應用錯誤信息可能可以報給CSB,這樣CSB才能返回更具體的錯誤信息 99 “[800][X-Code] X-Message”。 |
最後更新:2016-11-23 16:04:12
上一篇:
調用服務__使用說明_用戶手冊_雲服務總線 CSB-阿裏雲
下一篇:
MQ 簡介__產品簡介_消息隊列 MQ-阿裏雲
Open API 簡介__Open API 參考_企業級分布式應用服務 EDAS-阿裏雲
字符串類型__數據類型_SQL語法參考_雲數據庫 OceanBase-阿裏雲
RAM用戶登錄控製台__快速入門_訪問控製-阿裏雲
多結構數據存儲__典型應用_用戶指南_雲數據庫 RDS 版-阿裏雲
使用自定義監控__快速入門_雲監控-阿裏雲
刪除簽名密鑰__後端簽名密鑰相關接口_API_API 網關-阿裏雲
數據處理類__應用操作接口_API參考手冊_開放搜索-阿裏雲
購買實例__購買指導_移動安全-阿裏雲
UpdateRow__API 概覽_API 參考_表格存儲-阿裏雲
監控服務__係統架構_產品簡介_雲數據庫 RDS 版-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲