微信公众号提示 :该公众号提供的服务出现故障,请稍后再试

  • Post author:
  • Post category:其他


最近在做公众号开发,其服务配置为自己的服务器,有一段时间一直出现

该公众号提供的服务出现故障,请稍后再试

,这样的提示,相信有很多小伙伴遇到过这样的问题!



一、 具体问题描述

事件响应或消息自动回复时,功能可以正常实现,当功能完成之后就会出现,

该公众号提供的服务出现故障,请稍后再试

,也就是说功能完全实现,就是看见这个提示让人很操蛋!



二、后台服务使用的框架

语言:

C#


框架:

Senparc.weixin



三、解决问题经过



1. 检查微信服务器开发配置

验证通过,没有问题



2.猜想可能是服务器没有响应微信服务器的某个请求

我去自己的服务器打开了请求失败跟踪,具体方法如下:

  • 1)服务器

    IIS

    配置:

    第一步:开启失败请求跟踪规则



    按照上面的步骤进行配置,注意:目录是存放错误报告的;

    第二步:添加规则,如下图所示



    完成如上的步骤,就可以看到一条规则,如下图所示:

  • 2)查看错误

    XML

    文件:

    完成上面的工作之后,就可以看到跟踪文件,如图所示:



    打开文件,就可以看到请求失败的具体信息:



    然而发现并没有失败



3.猜想是我响应时返回的内容有问题

使用的返回方式如下代码所示:

public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
 {
      var responseMessage = base.CreateResponseMessage<ResponseMessageText>();
   
      var resultContent = requestMessage.EventKey.Split('#');
         CustomApi.SendText(_appId, requestMessage.FromUserName,
             $"袋鼠圈专注于学龄前儿童运动与健康管理服务。 \n\n 安防课后延时班正在火热报名中!!!10节课学会安防基础知识和基本技能,让孩子掌握自我保护技巧,在遇险后能第一时间做出求生反应。\n\n点击这里立即报名</a> ");
      
      return responseMessage;
  }

分析代码:发现我直接使用了

SendText

方法向微信发送了一条消息,但是返回的

responseMessage

中的

Content



null

,所以微信服务器报这条错误,修改如下:

public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
 {
      var responseMessage = base.CreateResponseMessage<ResponseMessageText>();
      responseMessage.Content =  $"袋鼠圈专注于学龄前儿童运动与健康管理服务。 \n\n 安防课后延时班正在火热报名中!!!10节课学会安防基础知识和基本技能,让孩子掌握自我保护技巧,在遇险后能第一时间做出求生反应。\n\n点击这里立即报名</a> ";
      
      return responseMessage;
  }

到此,解决了微信公众号的那个让人蛋疼的服务。



四、总结

出现此问题,如果说你的配置没有问题(经过第一步),那么就是自己的服务器错误,如果说你的服务器没有发现错误,那么就是你在响应返回是的内容或方式不正确,希望你有所帮助



版权声明:本文为Longyu144714原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。