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-阿里云