网关结果码说明

本文对使用移动网关过程中出现的结果码进行说明,方便您进行问题排查。

网关侧结果码

  • 1000 为 API 调用成功,其他都是失败的错误码。

  • 1001-5999、7XXX 为网关错误。

    • 其中,7XXX 表示无线保镖验签或解密报错,具体参见 无线保镖结果码说明 进行排查。

    • 除结果码外,您还可以查看响应 Header 中的 Memotips 字段,以了解更多错误信息。

    • 专有云用户还可以通过网关服务器上的 ~/logs/gateway/gateway-error.log 日志查看详细错误信息。

  • 当发生异常时,可以尝试通过网关异常排查进行排查。欲了解具体信息,参见 网关异常排查

结果码

描述

解释

1000

处理成功

网关 API 调用处理成功。

1001

拒绝访问

Mock 格式错误,缺少 resultStatus,WAF 校验失败,或者鉴权接口用户无权访问。

1002

调用次数超过限额

开启 限流配置 后,当触发限流时会导致该异常。

1005

未授权

开启 API 授权 后,API 调用时授权校验失败。

2000

登录超时

开启授权校验功能,非登录状态会触发该异常。

3000

RPC 接口不存在或关闭

在当前 workspaceId 对应的环境下,appId 对应的移动应用没有配置该 operationType 的 API 服务,或者该 API 服务不处于 开放 状态。

3001

请求数据为空

客户端请求数据中的 requestData 为空。请检查客户端 RPC 是否正常,iOS 端需确认已 初始化网关服务

3002

数据格式有误

RPC 请求格式有问题。专有云用户可以在服务端日志 gateway-error.log 中查看详细信息。

3003

数据解密失败

数据解密失败。

4001

服务请求超时

MGS 调用业务系统服务超时。后端业务系统负载过高导致,需排查后端系统的运行情况。若超时设置不合理,可以适当调整。注:默认超时时间为 3s。

4002

远程调用业务系统异常

MGS 调用业务系统服务出现异常。专有云用户可以在服务端日志 gateway-error.log 中查看详细信息。

4003

API 分组 HOST 异常

MGS 调用 HTTP 业务系统服务出现 UnknownHostException 异常。请检查 API 分组配置的域名是否存在。

5000

未知异常

其他严重错误。专有云用户可以在服务端日志 gateway-error.log 中查看详细信息。

7000

没有设置公钥

移动 APP 中无线保镖中无 appId 对应的密钥或者网关无法获取 appId 对应的签名密钥。

7001

验签的参数不够

网关服务端验证签名不通过。

7002

验签失败

网关服务端验证签名不通过。

7003

验签-时效性失败

API 请求入参 ts 时间戳超过系统设置的时间有效性。需要检查客户端时间是否为系统时间。

7007

验签-缺少 ts 参数

API 请求缺少验签 ts 参数。

7014

验签-缺少 sign 参数

API 请求缺少验签 sign 参数。一般情况下是客户端签名数据失败,导致缺失 sign 参数。请检查客户端无线保镖图片是否正确。

8002

跨域预检请求(CORS preflight)

跨域预检请求。

业务侧结果码

以下结果码可在业务系统服务器内部查看错误信息。

通过查看各个业务系统上的 ~/logs/mobileservice/monitor.log 日志可确定异常具体信息。

结果码

适用协议

描述

解释

6000

MPC、DUBBO

RPC-目标服务找不到

发布的服务(service)无法找到,服务器无法访问或者服务已迁移。

6001

MPC、DUBBO

RPC-目标方法找不到

发布的该 service 内的方法无法找到。

6002

MPC、DUBBO

RPC-参数数目不正确

传入的参数个数,与声明的参数个数不相等。

6003

MPC、DUBBO

RPC-目标方法不可访问

目标方法不能被调用。

6004

HTTP、MPC、DUBBO

RPC-JSON 解析异常

HTTP:将 RPC 参数转换为后端 HTTP 请求参数时发生异常。MPC/DUBBO:将 RPC JSON 数据反序列化为业务参数对象时失败。

6005

MPC、DUBBO

RPC-调用目标方法时参数不合法

反射调用时,参数不合法。

6007

MPC、DUBBO

RPC-验证登录服务不可用

没有实现 SPI 包中验证登录接口或者验证登录接口配置出错。

6666

HTTP、MPC、DUBBO

RPC-业务抛出异常

HTTP:后端系统返回 HTTP status code 不等于200。MPC/DUBBO:业务方抛出的异常。RPC 无法处理,统一为业务异常。

Android 客户端结果码

结果码

描述

提示文案

0

未知错误

未知错误,请稍后再试

1

客户端找不到通讯对象,没有设置 Transport

网络出错,请稍后再试

2

客户端没有网络,如用户关闭了网络或者禁止了应用的网络权限

网络无法连接

3

SSL相关错误,包括 SSL 握手错误,SSL 证书错误

客户端证书有误,请检查手机的时间设置是否准确。

4

客户端网络连接超时,TCP 建连超时,目前超时时间为 10s

网络欠佳

5

客户端网络速度过慢,数据读写超时,socketTimeout 的场景

网络欠佳

6

客户端请求服务端无响应,NoHttpResponseException

网络出错,请稍后再试

7

客户端网络 IO 错误,对应 IOException

网络出错,请稍后再试

8

客户端网络请求调度错误,执行线程中断异常

网络出错,请稍后再试

9

客户端处理错误,包括序列化错误、注解处理错误、线程执行错误

网络出错,请稍后再试

10

客户端数据反序列化错误,服务端数据格式有误

网络出错,请稍后再试

13

请求中断错误,例如线程中断时网络请求会被中断

网络出错,请稍后再试

15

客户端网络授权错误,HttpHostConnectException,Connection to xxx refused,无网络或者对应服务器拒绝连接

网络无法连接

16

DNS 解析错误

网络无法连接,请稍后再试

18

网络限流,客户端限流,当客户端请求流量超过阈值后会被限制网络请求

网络限流,请稍后再试

code ≧ 400 和 code < 500

HTTP 响应码为 4xx

网络无法连接

400 > code ≧ 100 和 500 < code < 600

HTTP 非成功的响应码

网络无法连接,请稍后再试

iOS RPC 请求返回错误码

状态码

含义

0

kDTRpcNetworkError

网络无法连接。

重要

网络失败均会都被归属到这里,具体失败 error 会通过 userinfo 透传出去,userinfo 字典里获取对应 error 的 key 值为 kDTRpcErrorCauseError。

1

kDTRpcEmptyResponse

服务端返回的数据为空。

2

kDTRpcInvalidJSONString

服务端返回的 JSON 字符串格式不正确,不能成功转换成 JSON 对象。

3

kDTRpcDecodeObjectError

反序列化 JSON 对象出错。

4

kDTRpcNetworkCancelled

网络已取消。

5

kDTRpcEncodeObjectError

序列化 JSON 对象出错。

6

kDTRpcProtocolBuffersDecodeError

反序列化 PB 对象出错。

9

KDTRpcSizeControlError

RPC 太大会直接抛出异常(这个 error 委托给了调用方) [DTRpcInterface rpcSizeControl:size:isReq:NO]

24

KDTRpcAbandonError

账号切换时登录 RPC 之后返回 RPC 被丢弃,直接抛出异常。

3003

/

解密出错。