[font=PingFangSC, "]消费端通过CSB调用服务时,整个链路上可以分成三个阶段:
阶段1发生的错误不用做任何处理。
阶段2及之后发生的错误,约定使用消费端协议的某个Escape Code,具体CSB错误码和描述以固定格式体现在消费端错误描述内,如 [CSB Error Code] CSB Error Message。
阶段3发生的错误,同上处理,但是CSB Error Code也提供Escape Code表示这是一个阶段3错误,且CSB Error Message的格式定义为 [提供端协议错误码] 提供端协议错误信息。这里要注意的是,CSB需要了解提供端协议的错误码中哪些表示正常访问,以免将成功的访问当做错误处理。
错误码 | 错误说明 |
200 | 访问处理成功 |
500 | CSB内部错误 |
501 | 所访问的服务API未经授权 |
502 | 访问签名未通过验证,也包括所提供的访问凭证不存在的情况 |
504 | 所访问的服务API不存在 |
505 | 访问凭证缺失 |
506 | 访问签名缺失 |
507 | 访问参数缺失 |
508 | 访问要求通过安全通道进行 |
509 | 访问时间戳缺失 |
510 | 访问过期,请检查网络通路是否稳定 |
800 | [提供端协议错误码] 提供端协议错误信息 |
801 | 服务提供端不可达。如果提供端协议会报告该类型错误,将会通过上面的800 Escape Code体现 |
消费端协议 | Escape Code |
HTTP类 | 500 |
HSF | 99 |
错误阶段 | 错误示例 |
第一阶段错误 | 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”。 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。