0
点赞
收藏
分享

微信扫一扫

【bug调试】后端从微信公众号接收到的消息不是xml格式,而是一串字符串或数字


问题

今天在开发微信公众号的自动回复服务的时候,从公众号接收来的消息并不是xml格式的,而是一串没有意义的数字。

问题排查排查颇有意思,特此记录,以供后续参考

解决

查阅了​​微信公众号开发文档​​,非常确定后端回调事件接收到的消息应该是xml格式的

【bug调试】后端从微信公众号接收到的消息不是xml格式,而是一串字符串或数字_xml

但是现在却接收到了一串无意义的数字

对比了消息体,既不是msgId也不是createTime

百思不得其解的时候,同事给了思路,鉴权!没错就是这个东西,很久没做外部接口,把这个问题给忘了

框架的鉴权机制将该回调接口给拦截了,因为微信服务器访问的时候并没有给出合法的token,因此请求被拦截了。得到的信息其实是鉴权结果

解决方法就很简单了, 只需要在拦截器中添加该回调接口到白名单即可。这里的添加地方随各自的框架不同而不同,我这里因为已经抽取到配置文件中了,因此只需要配置文件中添加白名单即可

【bug调试】后端从微信公众号接收到的消息不是xml格式,而是一串字符串或数字_回调接口_02


举报

相关推荐

0 条评论