,-10-15目录一、 错误处理流程概览 3二、 服务器响应内容透析 41. 调用成功返回格式 42. 调用错误返回 41) http连接错误 42) 服务端错误总述 43) 平台解析错误 54) 业务处理错误 6三、 响应格式错误处理 91. 响应格式格式错误,但数据正确 92. 响应格式错误,数据也错误 10四、 平台级错误处理 11五、 业务级错误处理 131. 参数错误 132. 权限控制 133. 用户不存在 134. 服务错误 15a) 服务调用错误 15b) 服务调用异常 15c) 远程调用错误 15d) Top解析错误 15六、 返回参数缺失处理 161. 整个消息体为空或缺少文档中说明的结构体返回。 162. 缺少fields指定字段返回 16七、 总结 17错误处理流程概览图表1错误处理流程 从这个错误处理流程可知,在整个错误处理的过程中,一共可以分为3条主要的流程:请求解析异常流程处理,平台级错误处理和业务调用错误处理。当然,这一切处理的最初也是最重要的一步就是:将服务器响应内容保留下来。服务器响应内容透析服务器响应内容,顾名思义就是isv调用top服务得到的响应的内容。这些内容能够最真实的反应出isv请求的问题和服务器当前的情况,也最能够帮助isv找到问题的所在。服务器响应内容一般分为两种:一种是wiki文档中所编写的成功调用所返回的字段,另一种是调用失败的返回的错误相关信息。。:最外一层是你调用服务的名称所对应的响应标记,如:获取单个商品()的响应最外层为"item_get_response":{},表示这是获取单个商品的响应;中间一层是返回结构体的标记。如果结构体是单个,,如:获取的单个商品的结构体就是"item":{};反之,如果结构体是多个,那么列表也会明显的表示出来,如:搜索商品列表的结构体就会是”items”:{“item”:[{},{}……]}。最外层的items表示这是一个商品的列表,后面的item表示列表中的每一个子结构体都是属于商品item的,然后就跟着商品的数据;最内一层就商品的具体字段信息了。调用错误返回当调用发生错误的时候,一般情况下可以分为几大类错误信息的返回:http连接错误、平台解析错误、业务处理错误。这三种类型的错误分别代表了:淘宝服务器、淘宝接入平台、top-api业务,几个层次上出现的问题。http连接错误http连接错误是请求通信过程中出现的错误,这类型错误通常由http响应码标记出来。http响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。响应码分五种类型,由它们的第一位数字表示:1xx:信息,请求收到,继续处理2xx:成功,行为被成功地接受、理解和采纳3xx:重定向,为了完成请求,必须进一步执行的动作4xx:客户端错误,请求包含语法错误或者请求无法实现5xx:服务器错误,服务器不能实现一种明显无效的请求Isv调用top服务最常收到就是200:http请求成功;404:未找到请求的服务;500内部服务器错误等等。如果用户收到的响应码是404,表示用户的网络有问题或者top被和谐了……如果用户收到的响应码是500,表示网络是ok的,是top的服务无法响应。服务端错误总述平台解析错误和业务处理错误都是http成功访问到top服务(http响应码返回为200)之后所产生的错信息,他们top处理isv请求过程中出现的问题。{“error_response”:””},表示这是调用服务失败所返回的错误信息。信息体里面一层总共包含了五个元素:"args":{"arg":[{“key”:“”,”value”:””},{“key”:“”,”value”:””},{“key”:“”,”value”:””}……]},”code”:””,“msg”:””,”sub_code”:””和”sub_msg”:””。args表示用户传入的参数列表是什么,里面是一个arg的列表会包含用户传入的所有参数信息,每个arg表示一个参数的信息,key表示参数的名称,value表示参数的内容,用以方便用户定位自己的错误;code表示用户调用错误的错误码是多少,小于200表示平台级错误,200-1000之间表示大范围的业务错误,即哪一类型的api调用发生了错误(根据api的大类来分,如:商品类的api是530,交易类的api是520,等);msg表示大类型的错误码所对应的错误信息,一般不具
开放平台错误自查手册-具体错误-墨灵 来自淘豆网m.daumloan.com转载请标明出处.