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

当用户主动发消息给公众号的时候(包括发送信息、点击自定义菜单、订阅事件、扫描二维码事件、支付成功事件、用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前修改为48小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通用户,在48小时内不限制发送次数。此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务。

假如服务器无法保证在五秒内处理并回复,必须直接回复空串(是指回复一个空字符串,而不是一个XML结构体中content字段的内容为空,请切勿误解),微信服务器不会对此作任何处理,并且不会发起重试。。这种情况下,可以使用客服消息接口进行异步回复。

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

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

2、开发者回复了异常数据,比如JSON数据等

解决办法:

Asp.Net:

 Response.Write("");
 Response.Flush();
 Response.Close();

Jsp:

  final_response.getWriter().print(content); 
  final_response.getWriter().flush(); 
  final_response.getWriter().close(); 

PHP:

  echo ""; 
  exit; 

总结:如果没有Response.Flush()的话就需要等所有任务都执行完毕之后才将Response.Write("") 输出,这中间的延时就造成了微信端获取不到数据而产生异常显示:“该公众号暂时无法提供服务请稍后再试”

参考地址:点击查看

posted @ 2014-11-18 16:43  Seaurl  阅读(10104)  评论(8编辑  收藏  举报