文档章节

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

DemoDoc
 DemoDoc
发布于 2014/05/01 21:52
字数 474
阅读 3896
收藏 12
点赞 0
评论 0

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 ⋅ 3

Jfinal-weixin Demo 开发者认证问题

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

andying ⋅ 2014/11/07 ⋅ 7

微信公众平台开发(1)-接入指南

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

当时我就震惊啦 ⋅ 2014/11/26 ⋅ 0

微信公众平台如何创建自定义菜单?

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

DavidBao ⋅ 2015/04/16 ⋅ 0

微信公众平台开发入门教程

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

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

SAE Token验证失败的解决方法

问题描述:填写完URL地址、Token、EncodingAESKey、消息加解密方式为兼容模式后确认显示Token验证失败。 解决方法: 1 下载官方提供的zip(http://mp.weixin.qq.com/mpres/htmledition/res/w...

iNiL0119 ⋅ 2015/09/07 ⋅ 0

手把手教你入门微信公众号开发

缘起 近日腾讯发布2017年中报,报告中指出,腾讯二季度实现营业收入566.06亿元,经营盈利、期内盈利分别达到225.6亿元和182.54亿元。按照当前利润与员工数估算,腾讯员工的平均年薪达到80万....

郗南枫 ⋅ 2017/08/20 ⋅ 0

开发微信公众平台时需要注意的安全问题

申请公众平台开发者模式需要填写一个URL和一个Token, 见下图: 如果这个URL和Token被别人猜中了, 并且你不判断消息中的ToUserName属性是否跟你微信号相配, 那么别人的公众帐号申请开发者时填写...

panpanhtai ⋅ 2014/06/28 ⋅ 3

微信接口开发流程

选好一个可以嵌入微信接口开发权限的系统。理论上讲,所有的系统都是可以用来做微信接口的二次开发的,只要具备用户管理功能的系统。因为开发之后,还会涉及到一些微信的管理。我这里选取了o...

熊猫88 ⋅ 2015/11/30 ⋅ 0

基于NodeJs的微信第三方平台认证授权流程

需要解决的问题 微信的第三方开发者平台采用的是OAuth的认证流程。因此,需要解决的问题是: 按照OAuth的流程,调用微信第三方平台的api来获取preauthenticatioincode 等参数,提供授权页面让...

奔走在IT路上 ⋅ 2016/04/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部