CSB提供了错误码,帮助您定位在使用CSB的SDK时遇到的问题。
错误码简介
消费端通过CSB调用服务时,整个链路上可以分成三个阶段:
服务消费端应用以消费端协议访问CSB。
CSB处理转发服务调用请求。
CSB以提供端协议访问服务提供端应用。
这三个阶段都可能出错,服务消费端收到错误信息时要能区别是在哪个阶段发生了什么错误,需要考虑如何通过消费端协议定义的错误信息结构来体现。消费端协议定义的错误信息结构多种多样,也可能有各种限制,但是通常都至少会提供错误码和错误描述,而且错误码应该都有保留或者未占用的、代表“其它错误”的编码(下称:逃逸代码Escape
Code)。基于这个前提,可以定义如下约定:
阶段1发生的错误不用做任何处理。
阶段2及之后发生的错误,约定使用消费端协议的某个Escape Code,具体CSB错误码和描述以固定格式体现在消费端错误描述内,如[CSB Error Code] CSB Error Message。
阶段3发生的错误,与阶段2相同处理,但是CSB Error Code也提供Escape Code表示这是一个阶段3错误,且CSB Error Message的格式定义为[提供端协议错误码] 提供端协议错误信息。
CSB错误码列表
其中800为CSB Escape Code 。
错误码
错误描述信息
说明
200
SUCCESS
请求处理成功
500
platform error
平台处理错误
501
access permission deny
没有权限访问
502
signature verification failed
验签失败
503
service not registed
服务没有注册
504
api name not found
该服务没有找到
505
access key not found
AccessKey没有在参数里找到
506
signature not found
签名没有在参数里面找到
507
required parameter is missing
参数丢失
508
need to access security channel
需要能访问安全通道
509
timestamp not found
时间戳在参数里面没有找到
510
time expired
访问过期
511
invoke timeout
调用HSF服务超时
512
write channel error
转发HSF协议时,连接通道出错。
513
connection has broken
连接已经断开
514
hsf address not found
调用时没有找到HSF服务地址
515
hsf process error
调用HSF出错
516
hoh process error
级联调用HSF出错
517
json2hsf process error
HTTP调用HSF失败
518
service metadata is null
发布的HSF服务信息为空
519
access permission deny by black list
访问被黑名单拒绝
520
can not found service metadata
调用时没有从缓存中找到HSF服务的元信息。
521
access permission deny, ip is not in white list
访问者的IP没有加入白名单
522
this invoke protocol not open
该服务没有开放成此协议
523
access permission deny due to strict accesskey and ip white list
此凭证设置了白名单,需要访问者IP加入到白名单里。
524
exceed access limition, try later
触发限流
800
service server error
服务调用出错
801
connect to service server error
连接不到服务提供者
802
serivce has offline from server
此服务已经下线
803
serivce has been stopped
服务已经在CSB上关闭了
99
hsf escap code
HSF逃逸错误码
900
Unknown code
未知错误码
1001
bad soap request
SOAP消息不正确
1002
bad response
返回结果不正确
1003
bad hsf subscribe info
错误的HSF订阅信息
1004
hsf invoke exception
HSF调用异常
1005
bad input soap parsing
输入SOAP消息解析失败
1006
bad output soap parsing
输出的SOAP消息解析失败
1007
bad invoke restful provider
HTTP服务Provider异常
1008
json2ws process error, bad input restufl/json request
HTTP调用WebService失败,HTTP请求不正确。
1009
json2ws process error
调用WebService服务失败
10001
process response result data filter failed
结果过滤处理结果失败
HSF错误码
错误码
错误描述信息
说明
20
OK
HSF调用成功
30
client timeout
调用端超时
31
server timeout
服务端超时
40
bad request
请求不合法
50
bad response
返回结果不合法
60
service not found
服务没有找到
70
service error
服务错误
79
connection has broken
连接已经断开
80
server error
服务提供端错误
81
Thread pool is busy
线程池繁忙
82
Communication error
通信异常
84
request is limited
请求被限流
88
server will close soon
服务很快就要关闭
90
client error
消费端错误
91
Unknown error
未知错误
消费端协议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。