`
364434006
  • 浏览: 586839 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

汇付接口调试问题记录之回车换行符

 
阅读更多

问题描述:

调用汇付天下还款接口时,接口一直响应101(验证签名失败)。

 

问题分析及解决过程:

1、第一反应就是仔细核对请求参数,然后对比接口响应的参数,发现没有什么问题。惟一不同就是接口响应回来的参数OutAcctId为null,而请求发送的参数是有这个字段值,一开始以为是这里出现的问题,当通过日志对比以前发送成功的报文,不是这个字段引起的。

===中途测试了几遍,还是返回101,找汇付技术支持,没有得到回复(PS:不晓得是不是问他们的姿势不对.),看来还是得靠自己。

 

2、没办法,只能再继续分析日志,仔细对比下过往请求成功的报文和这次失败的报文进行分析。

 

3、终于,找到不一样了,发现打印字段SubOrdDate后面有换行的迹象,这是怎么回事呢。突然想到为了调试数据,这个字段里面的值是从excel里面copy通过sqlyog客户端直接复制进来的。会不会是这里产生的换行符。

 

4、有了想法就要行动起来,立马执行 update mytable set SubOrdDate = trim(SubOrdDate) where xx;然后调用接口。发现还是返回101,打印的日志还是存在换行,

 

5、baidu之发现trim无法将msyql回车换行符去掉(太傻太天真了)。需要通过REPLACE(REPLACE(SubOrdDate,CHAR(10),''),CHAR(13),'')来进行替换

PS: char(10):  换行符,char(13):  回车符

 

6,修改完数据调用接口,执行成功,oyeh!

 

总结:

cv需谨慎,万事需细心

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics