暂时停止服务。
The server is temporarily unable to service your request due to maintenance downtime or capacity problems Please try again later
由于停(机检)修时间或者负载量问题,服务器暂时不能接受你的请求,请稍后重试。
使用微信公众平台的朋友都遇到过,给微信公众号发送消息后,半天没反应,微信提示“该公众号暂时无法提供服务,请稍候再试”的问题。本文主要介绍产生这个提示的原因及简单的处理方法。
工具/原料
微信公众号
开发者模式
方法/步骤
1
首先确定您的微信公众号使用的是开发者模式,接口设置正确,并能正常收发普通消息。
2
下面说一下提示"该公众号暂时无法提供服务,请稍候再试"这条信息的原因
大家先了解一下微信的工作流程,如图(开发者模式),当用户发了信息,首先到腾讯的微信平台,然后通过您的接口转发到您的服务器,您的服务器处理信息后,再返回给微信平台,平台再转发给用户
3
如果网络和服务器都正常的情况下,您的服务器接收到消息也正确处理了,那么用户就回收到相关信息,但如果您的服务器在处理信息过程中,因为网络原因或服务器故障、或者程序问题没有返回信息,那么腾讯微信平台就会返回给用户“该公众号暂时无法提供服务,请稍候再试”的提示。
4
如果那么排除网络和设备问题,用户还是收到这个错误提示,就可以肯定是用户发来的信息您的接口程序处理消息失败了,微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次,就是说5秒内不回复就重试,重试三次没回复,就给用户返回错误信息了。
5
那这个问题怎么解决呢,其实官方给出说明了:假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试。意思很明白了,如果您的程序不能在5秒内处理完毕并返回给平台,就是直接给平台发个空串就行了,平台判断有回复就不会给用户发送错误提示了。
6
但有的朋友不清楚这个空串是什么意思,官方也有说明:指字节长度为0的空字符串,而不是XML结构体中content字段的内容为空。
我在这里用PHP代码描述下,如图,该回复的地方加上echo '';就可以了
但这只是标记平台收到了,不给用户提示错误信息了,用户端是什么也没回复的,如果您还想发送给用户,就需要使用客服消息接口进行异步回复了
END
注意事项
处理程序代码正确
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)