搜狗首页  |   服务首页  |   客服热线:010-56898080

WebService介绍  |  错误信息

错误信息由响应头信息中的 failures 元素标识,该元素字段说明如下:

元素名 类型 说明
code Integer 错误代码
message String 错误信息
position String 定位错误位置,采用 ognl 描述方式,可唯一定位到输入参数中的出错位置。
content String  

对于 status=3 的 failure( 即 sysytem error) , content 字段会包含一个字符串( ticket )作为系统定位错误的识别符,如果您需要向搜狗反应此系统错误,只需提供 ticket 即可。

position 采用 ognl 的方式来描述产生错误的位置。关于 ognl 的详细信息请参考 [1] 。根据 position 的这种层级描述,可唯一的定位到该 error 产生的具体位置,方便用户进行错误定位。
position 字段目前取值有三种:
_sys: 当发生系统内部错误 ( 数据库无法连接,文件无法打开等 ) 时 position 的值为 _sys, 在 sys 后还可能带有具体的 param 字段,以说明是在调用哪个对象的哪个字段时发生了系统错误
_user: 用户权限错误;在 user 后还可能带有具体的 param 字段,以说明是在调用哪个对象的哪个字段时发生了用户权限错误
_params: 请求中业务数据错误。而 _params 字段目前取值也有 4 种模式:
_params.a :请求参数中 a 对象只可出现一次, a 有误; a 通常是简单数据类型;
_params.a[n]: 请求参数中 a 对象可出现多次,其中第 n+1 个有误; a 通常是简单数据类型; n 从 0 开始;
_params.a[n].b :请求参数中 a 对象出现了多次,第 n+1 个 a 对象的 b 属性有误, b 是 a[n] 对象的普通属性; a 通常是复杂数据类型;
_params.a.length :请求参数中 a 出现多次, a 的长度 ( 出现次数 ) 过多或过少,类比于数组长度; a 既可是简单数据类型,也可是复杂数据类型。

如果一次请求中传入批量数据,并且不止一个数据出现错误,则 failures 元素会在 ResHeader 中出现多次,每个 failures 元素表示一种出错原因。