问题
今天在开发微信公众号的自动回复服务的时候,从公众号接收来的消息并不是xml格式的,而是一串没有意义的数字。
问题排查排查颇有意思,特此记录,以供后续参考
解决
查阅了微信公众号开发文档,非常确定后端回调事件接收到的消息应该是xml格式的

但是现在却接收到了一串无意义的数字
对比了消息体,既不是msgId也不是createTime
百思不得其解的时候,同事给了思路,鉴权!没错就是这个东西,很久没做外部接口,把这个问题给忘了
框架的鉴权机制将该回调接口给拦截了,因为微信服务器访问的时候并没有给出合法的token,因此请求被拦截了。得到的信息其实是鉴权结果
解决方法就很简单了, 只需要在拦截器中添加该回调接口到白名单即可。这里的添加地方随各自的框架不同而不同,我这里因为已经抽取到配置文件中了,因此只需要配置文件中添加白名单即可
