文档章节

微信公共平台开发者url/token 认证(springmvc3.2.4)

DemoDoc
 DemoDoc
发布于 2014/05/01 21:52
字数 474
阅读 3911
收藏 12

bae升级到3,所以转战到sae。在此,记录一下遇到的问题。

sae java环境,

1.jdk1.6,服务器jetty7.x

2.自己上传的项目里面的jar包不能跟sae上的冲突。

   因为自己的项目是maven构建,用到了dom4j,maven的自动依赖下载功能将相应的xml-apis的jar包也自动下载了。

   可但是,xml-apis这个jar包跟sae环境上的是冲突的,就会导致项目在本地正常运行,部属到服务器上就出现503等一些列的错误。

   不得不说,maven有的时候还真会帮了倒忙。

   幸好会谷歌,得到的解决方法就是

<!-- dom4j -->
<dependency>
 <groupId>dom4j</groupId>
 <artifactId>dom4j</artifactId>
 <version>1.6.1</version>
 <exclusions>
   <exclusion>
   	<artifactId>xml-apis</artifactId>
    	<groupId>xml-apis</groupId>
    </exclusion>
 </exclusions>
</dependency>

这样就可以避免xml-apis 自动被下载了

云服务器上没什么问题了,微信公共平台 url/token 验证又有问题了(后台用的是springmvc3.2.4)

@RequestMapping(value="/urltoken",method=RequestMethod.GET,produces="application/json;charset=UTF-8")
	@ResponseBody
	public Object initWeixinURL(HttpServletRequest request){
		String echostr = request.getParameter("echostr");
		if (com.nolosing.wechat.util.WeixinURL.checkWeixinReques(request) && echostr != null) { //验证方法省略。。
			return echostr;
		}else{
			return "error";
		}
	}
这种格式返回内容为json格式,所以微信验证老是不通过。

幸好又会google,原来微信要求返回字符串的格式是text/html...

所以改了

produces="text/html;charset=UTF-8"

可是这样在springmvc接收请求后返回页面出现406错误了!!!

再一次google,

最后在springmvc-servlet.xml 配置中添加了

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
             <util:list id="beanList">
                 <ref bean="mappingJacksonHttpMessageConverter"/>
                 <ref bean="stringHttpMessageConverter" />
             </util:list>
         </property>
    </bean>
     <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
         <property name="supportedMediaTypes">
           <list>
                 <value>application/json;charset=UTF-8</value>
            </list>
        </property>
     </bean>
     <bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter">
     	<property name = "supportedMediaTypes">
              <list>
                  <value>text/html;charset=UTF-8</value>   
             </list>   
        </property>   
     </bean>
然后问题就解决了,微信的url/token 验证也通过了。。


至于原理,请自行google 上面对应的stringHttpMessageConverter 和 mappingJacksonHttpMessageConverter 


© 著作权归作者所有

共有 人打赏支持
DemoDoc
粉丝 9
博文 24
码字总数 15402
作品 0
成都
程序员
nodejs实现微信公众平台开发

基本原理   用nodejs怎样来实现对微信公众平台的开发呢?   别的就不多说了,先来简单介绍微信公众平台的基本原理。   微信服务器就相当于一个转发服务器,终端(手机、Pad等)发起请求...

笔阁
2016/03/07
4.2K
3
Jfinal-weixin Demo 开发者认证问题

@JFinal 你好,想跟你请教个问题: 请问如果把您的这个Jfinal-weixin Demo原封不动的发布到SAE中去测试,假设应用名为: testweixin.sinaapp.com,那如何在微信公众平台开发者认证界面中填写这个...

andying
2014/11/07
653
7
微信公众平台开发(1)-接入指南

接入指南 第一步:申请消息接口 登录https://mp.weixin.qq.com/ 后,在公众平台后台管理页面 – 开发者中心页,点击“修改配置”按钮,填写URL、Token和EncodingAESKey, 其中URL是开发者用来...

当时我就震惊啦
2014/11/26
0
0
微信公众平台如何创建自定义菜单?

微信现在的功能越来越强大了,申请认证后的开发者能自定义菜单,用户直接点击微信界面下方的菜单,就能直接去到指定的页面,下面小编用【微信公众平台测试号】为大家演示一下怎么创建自定义菜...

DavidBao
2015/04/16
0
0
微信公众平台开发入门教程

关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础。 我们将使用微信公众账...

方倍工作室
2013/06/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

windbg学习记录

我开始熟练使用windbg是从帮助手册开始的,也就是.hh命令。 就像学习windows开发从msdn开始一样,微软的产品虽然不开源,但是文档做的是相当的好。然而那些开源的东西呢?开源的竞争力其实就...

simpower
5分钟前
0
0
学习scala的网站汇总

https://www.codacy.com/blog/how-to-learn-scala/

Littlebox
7分钟前
0
0
配置本地的cloud9开发环境

前言 说到(前端)在线IDE开发环境,cloud9是不能绕过的,cloud9支持很多语言,默认支持的就有Node.js,Python,Ruby,PHP,Go,更逆天的是,他还支持数据库,包括MySQL,MongoDB,Redis,S...

Kefy
11分钟前
0
0
springcloud应用程序上下文层次结构

如果您从SpringApplication或SpringApplicationBuilder构建应用程序上下文,则将Bootstrap上下文添加为该上下文的父级。这是一个Spring的功能,即子上下文从其父进程继承属性源和配置文件,因...

itcloud
16分钟前
0
0
新程序员最爱的免费资源

简评:国外美女程序员推荐了她自己用过的一些免费资源,对新手比较友好的那种。 原作者 Ali Spittel,是个美女程序员,以下这些资源都是她自己试过的。以下「我」代表 Ali Spittel。 学 HTML...

极光推送
19分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部