微信公众平台企业号回调模式的URL验证——Java [问题点数:40分,无满意结帖,结帖人u011429034]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
收藏

![]() ![]() |
楼主发表于: 2014-10-24 11:44:55
逼不得已,只能硬着头皮就着官方的文档一步步的往下做,最终终于实现是回调模式的第一步:URL验证。现将代码共享出来,供各位新手借鉴,同时的后续开发,可以共同交流、学习。 1. 要开启企业号的回调模式,首先要进行URL验证,也就是说,你必须要有一个服务器,来保证在公网环境下能够访问你的这个URL,然后才能接着往下走。(如果没有服务器的话,建议使用BAE比较好)。 2. 创建一个web项目,(注意必须是Dynamic Web Project项目),然后创建一个servlet类,来处理企业号发送的请求,命名任意,代码如下:
Java code?
3. 接下来就要导入官方的业务类了,然后将其导入到你的项目中。这个可以在官方文档上下载到(注意,虽然官方下载的实例代码中也有验证的代码,但是不建议使用哪个Sample.java,如果不信的可以试试看,反正我用这个是没通) 下载地址是: http://qydev.weixin.qq.com/java.zip, 请开发者使用jdk1.6或以上的版本。针对org.apache.commons.codec.binary.Base64,需要导入jar包commons-codec-1.9(或comm ons-codec-1.8等其他版本),我们有提供,官方下载地址: http://commons.apache.org/proper/commons-codec/download_codec.cgi。 4. 如果出现异常java.security.InvalidKeyException:illegal Key Size的解决方案: 在官方网站下载JCE无限制权限策略文件(JDK7的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html 下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\security目录下覆盖原来的文件,如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。 5. 下来就是对web.xml文件的配置,代码如下:
Java code?
6. 然后将你的项目发布到服务器上,在浏览器中输入URL,如果在你的Tomcat的控制台上出现NullPointException异常,就说明没有问题(出现的原因是:请求的数据为空,这个你懂得)。 7. 接下来就在企业号后台上的操作了,开启回调模式,输入你的URL,随机生成token和EncodingAESKey,点击提交就可以验证通过,注意一定要代码中的和企业号上的token和EncodingAESKey是要一致的。 8. 通过结果图示: ![]() |
相关推荐
在回调模式下,企业不仅可以主动调用企业号接口,还可以接收用户的消息或事件。当你开启应用的回调模式时,企业号会要求你填写应用的URL、Token、EncodingAESKey三个参数。 此源码为自用已验证源码。供参考。
### 微信企业号回调模式设置详解(PHP版) #### 一、背景介绍 随着微信企业号功能的日益完善,越来越多的企业开始将其作为内部沟通与服务的重要平台之一。微信企业号提供了一种强大的消息推送机制,即“回调模式”...
需要注意的是,回调URL的域名必须是微信平台已经添加并验证过的可信域名。在实际环境中,如果使用新浪云等未实名认证的服务器,可能会导致回调验证失败。因此,确保服务器环境的安全和合规性是至关重要的。 回调...
2.1 在回调模式下验证服务器接口地址 2.2 检验消息的真实性,并且获取解密后的明文. 2.3 将公众平台回复用户的消息加密打包. 2.4 获取AccessToken 2.5 获取网页授权access_token 2.6 获取临时素材文件(不包括视频)...
5.设置开发模式,服务器回调; 成功建立连接,启用开发模式此处模拟提交URL和Token。 6.完成步骤5后,在开发者页面读取AppId和AppSecret让其持久化; 此处根据请求到的页面代码,可以使用正则表达式或者使用:...