微信发送消息后显示该公共号暂时无法提供服务,请稍后再试!

      用户发送信息,公众账号会提示”该公众号暂时无法提供服务,请稍后再试“。遇到这个问题,我们可以排除一下是否我们返回的数据有问题。 首先代码返回一个空的字符串,如果还是出现这样的提示,请看看签名验证是否失败,调试一下,看看log。     如果没有出现这样的提示,说明我们返回的结果格式有问题。 下面参考一下我返回的错误格式:

<xml>
  <toUserName><![CDATA[o_ZKtuBGHyFi2YcpSKlugRAomGrU]]></toUserName>
  <fromUserName><![CDATA[gh_940f1b1a6339]]></fromUserName>
  <createTime><![CDATA[1432042978676]]></createTime>
  <msgType><![CDATA[text]]></msgType>
  <funcFlag><![CDATA[0]]></funcFlag>
  <content><![CDATA[您发送的是文本消息!]]></content>
</xml>

正确的格式:

<xml>
   <ToUserName><![CDATA[o_ZKtuBGHyFi2YcpSKlugRAomGrU]]></ToUserName>
   <FromUserName><![CDATA[gh_940f1b1a6339]]></FromUserName>
   <CreateTime>![CDATA[1432044259308]</CreateTime>
   <MsgType><![CDATA[text]]></MsgType>
   <FuncFlag><![CDATA[0]]></FuncFlag>
   <Content><![CDATA[您发送的是文本消息!]]></Content>
</xml>

 发现正确的格式节点首字母是大写的。 经测试,确实存在节点首字母大小写会引起这问题(原因还没知道,那位大神知道请告知一下。谢谢!)


以上都没有问题,看看是否下面问题引起的

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

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

<xml>
   <ToUserName><![CDATA[o_ZKtuBGHyFi2YcpSKlugRAomGrU]]></ToUserName>
   <FromUserName><![CDATA[gh_940f1b1a6339]]></FromUserName>
   <CreateTime>![CDATA[1432044259308]</CreateTime>
   <MsgType><![CDATA[text]]></MsgType>
   <FuncFlag><![CDATA[0]]></FuncFlag>
   <Content><![CDATA[]]></Content>
</xml>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值