解决:该公众号提供的服务出现故障,请稍后重试

最近在进行微信公众号接口开发,做到自动回复的接口开发时,我按照接入指南接口文档开发好功能后,推上线了测试(你也可以使用ngrok内网穿透)调试发现:总是出现该公众号提供的服务出现故障,请稍后重试的提示。导致这个问题的情况有很多,本篇只是说我所遇到的,希望对看官有帮助。

解决:该公众号提供的服务出现故障,请稍后重试_第1张图片

说实话,微信接入自己的接口开发里面会有非常多的坑,经过好一番折腾,终于解决了,记录下解决方案。

情况1:你的接口返回值里面有空格

犯错率:5星

(我的就是这个错误)结合微信接口文档里面的说明(以被动回复用户信息为例):

解决:该公众号提供的服务出现故障,请稍后重试_第2张图片

可以看到接口文档里面的返回值

 < ![CDATA[toUser] ]> < ![CDATA[fromUser] ]> 12345678 < ![CDATA[text] ]> < ![CDATA[你好] ]> 

里面包含了大量的空格,这是致命性的,接口文档里面没有特别说明这些空格的处理,所以这也是一个巨坑了,去掉xml中的所有空格就ok(尤其要注意符号之间的空格,请严格检查)。

情况2:接口返回值的字段取值不对

犯错率:4星

还是以被动回复用户信息为例,同时结合接收普通消息接口说明

解决:该公众号提供的服务出现故障,请稍后重试_第3张图片

ToUserName、FromUserName参数值取错,这一点也很容易赋值错误,很多人(包括我)一开始ToUserName我取的就是接收普通消息接口里面的ToUserName、FromUserName,细思后发现,这是一个很搞笑的错误,显然这两个接口接收的主体对象是不一样的,也就是说,被动回复用户信息接口返回值里面的ToUserName、FromUserName参数值应该取值接收普通消息接口里面的FromUserName、ToUserName。

解决:该公众号提供的服务出现故障,请稍后重试_第4张图片

情况3:xml返回值的节点名不对

犯错率:4星

解决:该公众号提供的服务出现故障,请稍后重试_第5张图片

可以看到,被动回复用户信息接口xml返回值里面的节点名是Image,要是你写成小写的image,就gg了。

以上三点就是本人在对接微信消息管理一些列接口开发时采到的坑。如有疑问,欢迎留言。


books 引申阅读: 使用quartz实现高级定制化定时任务(包含管理界面)

你可能感兴趣的:(Java,Java编程之路,请稍后重试)