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

<!-- 使用spring mvc注解 -->
    <mvc:annotation-driven>
     <mvc:message-converters>
   <bean class="org.springframework.http.converter.StringHttpMessageConverter">
    <property name="supportedMediaTypes">
                    <list>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
   </bean>
   <ref bean="mappingJacksonHttpMessageConverter" />
   <bean class="org.springframework.http.converter.FormHttpMessageConverter"></bean>
     </mvc:message-converters>
 </mvc:annotation-driven>

很多人都碰到过,SpringMVC使用 @ResponseBody 注解,返加字符串不做任何处理时,有可能会出现乱码问题。

这是由于 StringHttpMessageConverter 类中,默认采用的字符集是 ISO-8859-1。

public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> {

   public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");

   private final Charset defaultCharset;

   private final List<Charset> availableCharsets;

   private boolean writeAcceptCharset = true;

   /**
    * A default constructor that uses {@code "ISO-8859-1"} as the default charset.
    * @see #StringHttpMessageConverter(Charset)
    */
   public StringHttpMessageConverter() {
      this(DEFAULT_CHARSET);
   }

那么要解决乱码问题,需要改变 StringHttpMessageConverter 中的默认字符集,本文中以UTF-8为例。

修改默认字付集:

<bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter">
    <constructor-arg value="UTF-8" index="0"/>
    <property name="supportedMediaTypes">
        <list>
            <value>text/plain;charset=UTF-8</value>
        </list>
    </property>
</bean>

配置起效

方式一:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    <property name="messageConverters">
        <list>
            <ref bean="stringHttpMessageConverter"/>
            <ref bean="jackson2HttpMessageConverter"/>
        </list>
    </property>
</bean>

<mvc:annotation-driven />

注:配置必须在 <mvc:annotation-driven /> 之前,否则将不会启效;<mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping 与AnnotationMethodHandlerAdapter。

方式二:

<mvc:annotation-driven>
    <mvc:message-converters>
        <ref bean="stringHttpMessageConverter"/>
        <ref bean="jackson2HttpMessageConverter"/>
    </mvc:message-converters>
</mvc:annotation-driven>

原文地址:https://www.cnblogs.com/lujing-newer/p/8267684.html

时间: 2024-10-07 15:46:42

微信公众号的开发 该公众号提供的服务出现故障,请稍后再试的相关文章

微信H5支付 提示&quot;网络环境未能通过安全验证,请稍后再试&quot;

按照官方https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4# 接入微信的H5支付,提示"网络环境未能通过安全验证,请稍后再试",经排查发现服务器有前端机子,原先获取IP的方法有误,不能正确获取客户的IP.更改获取IP的方法,问题解决. 附获取IP的PHP函数: function ip() { if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CL

微信公众开发平台报错:该公众号暂时无法提供服务请稍后再试 的解决方案

当用户主动发消息给公众号的时候(包括发送信息.点击自定义菜单.订阅事件.扫描二维码事件.支付成功事件.用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前修改为48小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通用户,在48小时内不限制发送次数.此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务. 假如服务器无法保证在五秒内处理并回复,必须直接回复空串(是指回复一个空字符串,而不是一个XML结构体中content字段的内容为

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

"该公众号提供的服务出现故障,请稍后再试"解决对策:通过浏览器直接访问内网透射的url.比如:http://j3vd9j.natappfree.cc/jeewx-oschina发现提示:Tunnel j3vd9j.natappfree.cc not found.则说明内网透射有误.重新配置即可.[注:NETAPP官网提示对免费隧道不定时强制更换域名/端口] 附带网友的其他解决方法:(1)有人说 302 跳转会导致验证通过,而无法收到消息!最后把接口单独写了,不放在 controller

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

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

微信支付出现支付请求参数错误,请核实再试或交易出错,请稍后再试的可能原因

微信支付经常会出现有些奇怪找不到原因的问题,下面就是其中的一个例子当你的微信支付出现 “支付请求参数错误,请核实再试”或 “交易出错,请稍后再试”的错误的时候,不访从下面几点找原因1,确保你的微信的app_id,app_secret,parent_id,parent_key,parent_sign_key的信息是否填写正确了.2,请检查package的参数是否错误或为空等情况,具体设置可参考开发文档.3,微信的金额是以分为单位的,所以请检查一下你传入的金额最小值是不是大于1(千万不要传小数点进去

微信出现 该公众号暂时无法提供服务,请稍后再试 解决办法

1.保证五秒内回复有效xml 2.如果回复空字符串,请使用以下代码 Response.Write(""); Response.End();

&quot;该公众号暂时无法提供服务,请稍后再试&quot;的问题

倒腾了好久,对微信公众号也不是很熟悉.不知道怎么看问题,php学的也不久. 1.定位问题. 网上找了很久,最后找到两种定位问题的方式. a.https://blog.csdn.net/qq_28506819/article/details/77827899 打印日志 b.后台=>运维中心查看日志.不过日志很少.不知道为啥. c."我的问题解决了,我用的php,是把数组转换成XML的时候出的问题,把php.ini文件里的always_populate_raw_post_data参数启用并设置

微信公众号开发,微信手机端一直提示该公众号暂时无法提供服务,请稍候再试

遇到这个问题,一直在找原因,百度了很多,排除了防火墙,以及策略的问题,还有微信服务器屏蔽了IP. 之前的项目都是相同的代码,但是这次是另外一个项目,部署到客户那边,微信的消息管理,无法接收消息.(即微信服务器无法POST到配置好的URL上) 后面发现在客户的服务器上面,用域名和外网的IP无法访问,而在外网却可以用域名访问,而外网IP的也不能访问,当时一脸懵逼,好在经过公司的小伙伴一眼就看出了可能是代理服务器的问题.用cmd命令查看了下,发现是经过多层才能访问得到. 运行cmd,输入tracert

微信开发 该公众号暂时无法提供服务,请稍候再试 解决办法

一.原因 1.网络中断 2.关注和取消过多 3.微信转发url服务器中的web项目异常 二.解决办法 1.正常连接网络 2.过一会再试 3.检查web项目,建议预留一个测试过的项目作为检查使用.