注册 | 登陆
您的位置:阿里西西 > 编程技术 > 手机APP编程 > 详细内容

[终极方案]解决微信公众号服务器配置启用后无法自动回

  稿源:互联网   2019-02-24   点击:   撤稿纠错
在配置服务器配置时Token验证通过后,遇到给公众号发信息,提示:提示该公众号提供的服务出现故障,请稍后再试 的问题,一直实现不了自动回复的功能。百度了大量的资料,参考了开发文档,尝试了n种办法,检查xml返回格式,检查Token验证方式,最后走弯路花了十个小时才找到真正的原因...这个原因真的是泪啊...下面总结一下走的弯路给遇到同样问题的朋友提供帮助。

以下讨论的是和微信 公众号 服务器配置 自动回复 故障 相关的[终极方案]解决微信公众号服务器配置启用后无法自动回复,服务器出现故障,请稍后再试的问题教程文章,内容是本站精心挑选整理的教程,希望对广大的网友给到帮助,下面是详细内容:

本篇在这里只做各中环境都正常的情况下,出现“提示该公众号提供的服务出现故障,请稍后再试”故障的解决方案。其它环境配置和搭建就不多做讲解啦。

首先说明本人调试的时候各种环境都已经完善OK,服务器配置已经启用,这里很多朋友会卡在TOKEN验证失败的问题,我这里先简单说说这个验证吧。

1、服务器地址可以用文件名结尾比如http://www.alixixi.com/xx.asp结尾,或者用目录名http://www.alixixi.com/wx/这样的格式(这样设置时只要默认目录下面有index.asp之类的首页读取数据训可以了)

2、令牌通俗点就是你自己随意起个密码,随便填

3、消息加解密密钥这个东西是用在安全模式和兼容模式下用来协助做加密工作的。自动生成就可以了。

说完这3点,下面保存或修改的时候,微信就会向您的服务器地址发送get方式的数据进行验证,这里最简单的通过验证方法就是你在服务器地址的文件中,直接写一行代码接收并显示echostr参数就可以轻松通过验证了,比如ASP中写<%response.write Request.QueryString("echoStr")%>,PHP里也是一样,直接echo $echostr 这个通过get过来的值显示到网页上的代码就OK了。验证就可以轻松通过!

通过验证后,您可以直接在服务器地址的网页上编辑自动回复微信用户的内容信息。

言归正传,继续回到问题“提示该公众号提供的服务出现故障,请稍后再试”上面来,上面配置好以后,正常来说,只要在这个服务器地址里输出符合标准的XML格式文件内容就会成功自动回复。

XML格式可以参考:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140543

我是以最简单的文本方式进行调试,下面就是官方开发文档上给出的示例:

  程序代码(For Alixixi.com)如下:
<xml> <ToUserName>< ![CDATA[toUser] ]></ToUserName> <FromUserName>< ![CDATA[fromUser] ]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType>< ![CDATA[text] ]></MsgType> <Content>< ![CDATA[你好] ]></Content> </xml>

这里提醒一下,示例是有问题的,XML内容中不能有空格,官方文档中包含的空格要全部清理掉!否则就会出现上面我们说的错误。

这就是要排掉的一个雷!

第二个雷:文档建议用UTF-8编码进行编写,避免出现乱码。

第三个雷:除了以上的标准的XML代码以外,XML以外的不要出现其它内容或字符。在调试时,可以通过写入相关的参数值到txt文本文件,进行查阅接收值的核验。

第四个雷:XML里的标签大小写不建议更改,数据读取XML节点名称时可能会区分大小写。

第五个雷:ToUserName、FromUserName参数值取错,这一点也很容易赋值错误,接收人和发收人在数据发送和接收时,代码位置是交换过来的,接收微信用户信息时,ToUserName是我们公众号,FromUserName是微信用户,那么我们自动回复微信用户时,ToUserName就变成微信用户了,FromUserName是我们公众号主体,所以一定要核对好这一点,本人就是在这个问题上查找了几个小时才发现,泪奔啊,修正过来后,直接一切正常!如果你正遇到类似问题,赶紧去翻查你的代码吧!

下面看看官方的文档说明,红线标示了,看来自己走的弯路还是没有耐心看文档,结果,自己的时间给浪费了:(

第六个雷:那就是自己公众号后台的服务器配置没有启用,也有不少人犯这个低级错误!

第七个雷:首先确保服务器地址的网页能正常解析和访问,建议把服务器环境调试好再进行高度与公众号的对接。

另外,建议多使用官方的接口调试工具进行测试,如果测试接口通过,那么一般都是数据的格式不对的问题了!

如下图,就是本人在通过了接口高度工具正常后,就很明显知道是数据格式不对了。可还是走了不少弯路。没想到是XML里接收和发送人的参数弄错了。。

[终极方案]解决微信公众号服务器配置启用后无法自动回复,服务器出现故障,请稍后再试的问题文章就讲到这里,欢迎浏览本站的其它内容,点击这里返回首页

相关阅读

相关排行总榜

ASP教程

PHP教程

.NET教程

ASP采集功能WinHttp.WinHttpRequest.5.1的
AspJpeg图片处理组件属性的详细中文使用说
通过ASP生成html纯静态页面的简单示例
ASP开发中一个把GB2312转UTF-8编码的函数
推荐几个ASP开发中常用的fso操作文件图片
ASP读取操作生成excel文件的实例代码教程
使用ASP进行网站开发防范ASP木马的10条建
通过ASP调用MSSQL数据库视图和存储过程的
通过aspupload上传组件实现的ASP实现远程
ASP调用MSSQL存储过程进行分页的两种方式
PHP解决HTTP和HTTPS跨域共享session的方法
php程序判断来访客户端是手机端还是电脑P
用PHP来获取当前页面所有url参数信息的教
配置好环境后,进行php代码调试的方法总结
教您使用php代码实现上传图片或文件到服务
PHP开发中推荐十款最出色的安全开发工具库
PHP基础学习之数组介绍
浅谈JSP与ASP.PHP的各种平台应用比较
php制作一个万年历查询的实例代码教程
制作简单安全的php验证码类代码实例
ASP.NET环境配置中几种身份验证方式及权限
记录一次对ASP.NET网站漏洞的入侵和防范教
Asp.net在mvc环境下实现上传头像加剪裁功
对 ASP.NET 异步编程的一点理解与分析
ASP.NET读取与操作Session的代码案例教程
ASP.NET将大文件数据分成较小的部分进行分
讲解.Net组件程序设计之异步调用
AS脚本与Asp.net通过UrlRequest进行前端交
一组常用的.NET命名空间中文解释
asp.net解决url地址栏传递中文参数出现乱