• 微信公众平台开发中提示“该公众号提供的服务出现故障”问题解决


    问题描述:

      在处理室内数据推送的时候,服务器能正常接收并处理请求,,客户端也能正常接收消息 但是在每次收到消息后,微信界面会出现,“该公众号提供的服务出现故障”字样。

    解决思路一:消息去重

      根据以往的经验,首先想到的就是消息处理不及时的问题。于是采用以前的方法进行消息去重,(详见微信公众平台开发中重复响应问题),但是改了之后仍然出现 “该公众号提供的服务出现故障”务的提示。

    解决思路二:提高响应速度

      其次,想提高一下数据响应速度,以为是查询数据库延时 后面直接不查询数据库了  直接在服务器端把数据写死 结果还是出现这个问题

    解决思路三:提高响应速度

      由于项目是在测试阶段,我使用的是ngrok作为内网穿透,由于使用的是免费隧道,会出现带宽低,不稳定等状况,然后我们去买了一条vip隧道,重新测试,还是没有解决这个问题。

    解决思路四:

      自己用debug跟进 发现dealEvent值为null 意思是返回为微信服务器的值为null 看到这里 自己的敏锐的觉得问题应该出在这,因为模板消息是异步发送的 模板消息的发送地址和微信请求需要的响应地址不一定一样。因此在业务处理过程中,由于是异步发送模板消息,因此客户端能正常接收到模板消息 但是当请求方法执行完 继续往下执行的时候 会返回null 微信服务器接收到这个null响应后 直接提示给用户服务出现故障 。于是我就把null改成回复“ ”字符串 果然 微信能正常接收到模板消息 并且没有提示公众号出现异常  并且 由于返回的空字符串不符合消息响应格式(微信需要的是xml数据包)用户也不会接收到这个字符。

  • 相关阅读:
    5R(康奈尔)笔记法
    【软件】MyEclipse 显示行数及Eclipse修改字体
    Linux运维工程师必备的十个技能点
    centos下部署LAMP环境(Linux+Apache+mysql+php)(转载文章:https://www.cnblogs.com/apro-abra/p/4862285.html)
    MySQL之show命令 (转载https://www.cnblogs.com/andy6/p/6171945.html)
    MySQL安装完成后重置密码
    MySQL面试题
    mysql运维必备知识点(转载至其他作者)
    centos 7 下安装部署mysql 5.7
    Linux服务部署之NTP时间服务器
  • 原文地址:https://www.cnblogs.com/lanmao123/p/10530185.html
Copyright © 2020-2023  润新知