该公众号暂时无法提供服务请稍后再试

关键字:该公众号暂时无法提供服务,请稍后再试 微信公众平台 

原文:http://www.cnblogs.com/txw1958/p/weixin-suspend-service-solution.html 

 

在用户向公众号发消息,或点击自定义菜单时,开发者一般会根据业务需要,利用被动响应消息接口,向用户回复响应消息。

如果开发者认为用户消息无须回复,或开发者准备随后再通过客服消息接口来对用户进行回复,请按照开发者文档的要求,直接回复空串,微信服务器收到空串则不会进行处理。

一旦遇到以下情况,微信都会在公众号会话中,向用户下发系统提示“该公众号暂时无法提供服务,请稍后再试”:

1. 开发者在5秒内未回复任何内容

2. 开发者回复了异常数据

详细流程请见开发者文档:发送被动响应消息接口。以上改动将于两周后(2014年10月30日)生效,请开发者注意。

具体提示如下图所示:

 

原因分析:

最主要的还是开发人员写代码不够严谨,没有严格遵守开发文档的标准XML格式回复。

 

解决方案:

1. 使用高性能的服务器及空间,海外普通虚拟空间延迟大,建议使用云主机或国内知名服务商的空间

2. 开发模式下保证所有内容都有回复,不能匹配到的回复直接回复空字符串,而不是参数Content为空的xml消息,以便让微信服务器知道程序有响应

例如下面的这个回复就是导致上述错误的原因之一 

<xml>
    <ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName>
    <FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName>
    <CreateTime>1359036631</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[]]></Content>
</xml>

 如果使用的是方倍工作室的微信开发接口DEMO,那么需要在回复文本消息时都不回复空内容,或者加入空值判断以进行二次保护,如下面代码中第4~6行所示 

 1     //回复文本消息
 2     private function transmitText($object, $content)
 3     {
 4         if (!isset($content) || empty($content)){
 5             return "";
 6         }
 7
 8         $xmlTpl = "<xml>
 9     <ToUserName><![CDATA[%s]]></ToUserName>
10     <FromUserName><![CDATA[%s]]></FromUserName>
11     <CreateTime>%s</CreateTime>
12     <MsgType><![CDATA[text]]></MsgType>
13     <Content><![CDATA[%s]]></Content>
14 </xml>";
15         $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), $content);
16
17         return $result;
18     }

3. 检查xml格式,不要擅自加其他内容,网上一些代码喜欢自行添加其他内容,比如xml version等,最好去掉这些不符合微信消息格式的内容。

4. 检查代码中是否有echo、var_dump、以及一些告警信息打印,这些信息也会被返回给微信服务器而扰乱XML,从而导致上述问题。

5. 使用方倍工作室的微信调试器,做同样的关键字发送,查看返回的数据是否有异常或超时。微信调试器地址 http://debug.fangbei.org/

6. 参考《微信公众平台开发最佳实践》一书消息构造格式,或使用该书提供的SDK点此购买

 

时间: 2024-08-14 21:22:25

该公众号暂时无法提供服务请稍后再试的相关文章

微信公众开发平台报错:该公众号暂时无法提供服务请稍后再试 的解决方案

当用户主动发消息给公众号的时候(包括发送信息.点击自定义菜单.订阅事件.扫描二维码事件.支付成功事件.用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前修改为48小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通用户,在48小时内不限制发送次数.此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务. 假如服务器无法保证在五秒内处理并回复,必须直接回复空串(是指回复一个空字符串,而不是一个XML结构体中content字段的内容为

测试-该公众号暂时无法提供服务,请稍后再试。

问题描述 该公众号暂时无法提供服务,请稍后再试. 服务器都以及程序都按照博客视频弄好了,部署到SAE上之后测试,发送消息,就回复"该公众号暂时无法提供服务,请稍后再试."什么情况啊 解决方案 有空回复信息?或者xml处理有问题. 解决方案二: 我也出现同样问题,楼主 问题解决了吗交流下啊 解决方案三: 我也遇到了类似问题,解决不了,顶起来,有能解决的吗?无私奉献是程序员的美德!

java-寻求微信公众平台开发“公众号暂时无法提供服务,请稍后再试”的解决方案

问题描述 寻求微信公众平台开发"公众号暂时无法提供服务,请稍后再试"的解决方案 项目部署在SAE上,日志截取到了 140.207.54.75 [16/Apr/2015:21:53:17 +0800] JAVA_Notice: <![CDATA[gh_83f240695490]]><![CDATA[o-poDs-3jbAA_EXFwy9IcuwFFa1E]]><![CDATA[1429192397721]]><![CDATA[text]]>

java-微信公众号接口开发,关注后提示“该公众号暂时无法提供服务,请稍后再试。”原因?,如何处理?

问题描述 微信公众号接口开发,关注后提示"该公众号暂时无法提供服务,请稍后再试."原因?,如何处理? 我在弄微信公众号接口开发的自动回复时,在手机微信怎么老是"该公众号暂时无法提供服务,请稍后再试."?在接口测试的时候报错如下: 20.181.136.229 [13/Feb/2015:13:42:34 +0800] JAVA_Error: Error for /coreServlet java.lang.NoClassDefFoundError: Could not

微信-带参数的二维码扫描之后,会出现“该公众号暂时无法提供服务”

问题描述 带参数的二维码扫描之后,会出现"该公众号暂时无法提供服务" 带参数的二维码扫描之后,会出现"该公众号暂时无法提供服务",我后台的代码但是没有接受到,在微信公众号调试成功的 解决方案 http://www.cnblogs.com/txw1958/p/weixin-suspend-service-solution.html

新浪博客“网络繁忙请稍后再试”

发博文提示网络繁忙请稍后再试 August 17 摘要:经常用新浪博客发博文的人应该会遇到一个问题,那就是有时会提示网络繁忙请稍后再试,同时连保存草稿也不行,这时候该怎么办呢? 方法/步骤 我们假定真的是由于网络繁忙所导致的 对于想发表而不得的博文,我们可以先把他复制到word或者其他地方,然后清空内容,在随便打几个字,发现没有,发表成功了 刚刚还网络繁忙,这下怎么就可以了呢,我们在把我们想发表的内容复制过来,又发现网络繁忙,这下,聪明的你已经看出来了,是新浪对某些话题自带的保护伞呀 不让发又不

支付宝H5调用APP 系统繁忙,请稍后再试

今天真是RI了狗了,以前应该遇到过,还提交了工单咨询过.但是最近由于测试上线又走了一遍流程,由于支付项目部署在另一个环境,导致pid没有修改为正式环境的. 一直报错H5调用APP 系统繁忙,请稍后再试.我擦,就不能给个提示.

关于微信公众号的问题-微信公众号怎么做?请各位大哥大姐帮我,我是新手

问题描述 微信公众号怎么做?请各位大哥大姐帮我,我是新手 我是新手 ,各位 大哥大姐 ,你们做过微信的公众号吗?教教我 怎么做好吗.主要就是我做出来了网页,,他的网页 怎么点击二级菜单弹出来的.我确实不会.请指教?非常感谢 解决方案 页面就跟做JSP页面一样没什么好说的,但是你要是在微信端点击他上面的横栏二级菜单就要在公众号上面配置 有个自定义菜单选项可以配置 解决方案二: 你参考一下:http://blog.csdn.net/u011622479/article/details/5118159

WordPress上传图片出现错误 - 上传时发生了错误,请稍候再试解决办法

这个问题在"解决WordPress上传图片出现"上传时发生了错误,请稍候再试"问题"中已经遇到一次且可以解决,只不过这次的问题好像不太一样.帮助朋友搬家WordPress后,在编辑内容上传图片的时候也有出现这样的错误提示,而且原有的水印插件DX-watermark不生效,看来问题应该在这里.   根据判断,应该是水印的路径不对导致的,因为看到DX-watermark水印管理界面演示图片不展现.只要思路对了,那解决起来就容易,直接到PHPMYADMIN数据库管理中心,