文档中心
开发异常排查说明
更新时间: 2019-08-21 10:16:17 访问次数:13681
常见报错现象

  • 开发人员通过soapUI/Postman等软件或者程序,调用OpenAPI的接口的时候出现以下报错:
    示例报错:"签名失败,请检查Token是否正确、收件人信息中是否含有特殊字符,并且使用UTF-8编码"

“认证失败”的常见原因

    入参中的sign/client_sign错误为最常见(sign/client_sign如何生成,请查看《签名认证》
  • 1.接口字段排序问题:
    • (1)生成签名的报文须按照字母顺序A-Za-z(包括data里面的参数,以及packageList、merchandiseList里面的参数)
    • (2)不支持参数中包含特殊字符:比如:\ "
    • (3)报文中包含中文时,不支持转码成\uxxxx格式
  • 2.json串使用UTF-8字符集

json中特殊字符的处理
  • json的特殊字符:包括单引号 (')、双引号 (")、反斜线 backslash (\) 以及空字符NULL,同时也要求回车符去除。
  • 处理时:json中这些特殊字符要转义以保证json结构,sign拼接时需将转义符和特殊字符拼接进来。
  • 以反斜杠举例:json "data":{......"address2":"10\\27 ADstreet".....},sign拼接时也需拼接进转义符: token+data{....."adress2":"10\\27
  • 3.data字段为Json对象类型,如果无参数,请输入{ },不建议传null,不同编程语言间容易造成签名失败
  • 4. ADstreet"...}+token。
  • 解决方法
    使用《认证失败排查工具》,将完整的报文填入页面,生成拼接字符串和签名,参考拼接字符串的内容。操作操作参考《认证工具操作手册》
    其他解决方法

    步骤1:下载并解压“认证失败”查验工具(见下文【三、辅助工具下载】)

    步骤2:安装java运行环境jre java运行环境(JRE)下载:https://www.java.com/zh_CN/ jre环境配置说明:http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html

    步骤3:运行工具 先输入【Token】和【json格式报文】,见下图中的示例;工具将自动生成【签名串】,点击【生成sign】将获取签名串密码结果。

    其他解决方法

    步骤1:下载并解压“认证失败”查验工具(见下文【三、辅助工具下载】)

    步骤2:安装java运行环境jre java运行环境(JRE)下载:https://www.java.com/zh_CN/ jre环境配置说明:http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html

    步骤3:运行工具 先输入【Token】和【json格式报文】,见下图中的示例;工具将自动生成【签名串】,点击【生成sign】将获取签名串密码结果。

    工具下载

    适用于Windows 64 bit链接: https://pan.baidu.com/s/1i4CYpKT 密码: evu1

    适用于Windows 32bit 链接: https://pan.baidu.com/s/1eRTtueQ 密码: 6x2h

    附:java运行环境(JRE)下载:https://www.java.com/zh_CN/