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

2019-02-28  本文已影响0人  lesterlong

最近在做公众号开发,其服务配置为自己的服务器,有一段时间一直出现该公众号提供的服务出现故障,请稍后再试,这样的提示,相信有很多小伙伴遇到过这样的问题!

一、 具体问题描述

事件响应或消息自动回复时,功能可以正常实现,当功能完成之后就会出现,该公众号提供的服务出现故障,请稍后再试,也就是说功能完全实现,就是看见这个提示让人很操蛋!

二、后台服务使用的框架

语言:C#
框架:Senparc.weixin

三、解决问题经过

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

验证通过,没有问题

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

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

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中的Contentnull,所以微信服务器报这条错误,修改如下:

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

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

四、总结

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

上一篇 下一篇

猜你喜欢

热点阅读