微信企业号开发(二)-回调接口
2015-11-08 19:03
806 查看
1、根据内网映射外网,给自己的电脑配一个外网域名,http://blog.csdn.net/u014520797/article/details/49667217
2、填写信息
3、回调接口URL
4、常量类
5、corpId和corpsecret是管理组的凭证秘钥,可创建管理组,管理组秘钥各不相同。
6、成功回调
7、代码结构
8、代码地址:http://download.csdn.net/detail/u014520797/9252951
9、注意!!!确保自己电脑上或服务器上的jdk的中local_policy.jar和US_export_policy.jar已替换,否则将抛异常
异常java.security.InvalidKeyException:illegal Key Size的解决方案:
在官方网站下载JCE无限制权限策略文件(请到官网下载对应的版本, 例如JDK7的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html ):
或http://download.csdn.net/detail/u014520797/9174959
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\security目录下覆盖原来的文件,如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。
2、填写信息
3、回调接口URL
package com.py.weixin.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.py.weixin.util.ParamesAPI; import com.py.weixin.weixinapi.AesException; import com.py.weixin.weixinapi.WXBizMsgCrypt; public class CoreServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static Logger log = LoggerFactory.getLogger(CoreServlet.class); /** * 请求校验(确认请求来自微信服务器) */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 微信加密签名 String msg_signature = request.getParameter("msg_signature"); // 时间戳 String timestamp = request.getParameter("timestamp"); // 随机数 String nonce = request.getParameter("nonce"); // 随机字符串 String echostr = request.getParameter("echostr"); /*******pengyou 2015/10/16 start*********************************/ System.out.println("11CoreServlet doget msgSignature:"+msg_signature); System.out.println("22CoreServlet doget nonce:"+nonce); System.out.println("33CoreServlet doget timestamp:"+timestamp); System.out.println("44CoreServlet doget解密前的 echostr:"+echostr); // 打印请求地址 System.out.println("55CoreServlet doget request=" + request.getRequestURL()); PrintWriter out = response.getWriter(); // 请求校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败 String echostr_ret=null; try{ WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(ParamesAPI.token,ParamesAPI.encodingAESKey,ParamesAPI.corpId); // 验证URL函数 echostr_ret=wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr); }catch (AesException e) { e.printStackTrace(); log.error("log 回调连接失败 1",e); } if (echostr_ret == null) { // echostr_ret为空,赋予token echostr_ret = ParamesAPI.token; } //回调的数据 out.print(echostr_ret); out.close(); out = null; } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
4、常量类
package com.py.weixin.util; /** * 参数API类 */ public class ParamesAPI { // token public static String token = "Hs4MdnN4lygv2kmAZh"; // 随机戳 public static String encodingAESKey = "lKNJEA4vPm9BDbWUjA8txdLHpyUGKgzP8XU8gwkOKyj"; // 你的企业号ID public static String corpId = "wx87be3e764a73bb42"; // 管理组的凭证密钥,每个secret代表了对应用、通讯录、接口的不同权限;不同的管理组拥有不同的secret public static String corpsecret = "Bf7IkOMfDYFs4JJBztKub0z23pI9ZgIlL6sv1IjYkHmqeVEXkbxcR3drUkZ3iKGr"; // 应用ID,AgentId public static String AgentId = "1"; }
5、corpId和corpsecret是管理组的凭证秘钥,可创建管理组,管理组秘钥各不相同。
6、成功回调
7、代码结构
8、代码地址:http://download.csdn.net/detail/u014520797/9252951
9、注意!!!确保自己电脑上或服务器上的jdk的中local_policy.jar和US_export_policy.jar已替换,否则将抛异常
异常java.security.InvalidKeyException:illegal Key Size的解决方案:
在官方网站下载JCE无限制权限策略文件(请到官网下载对应的版本, 例如JDK7的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html ):
或http://download.csdn.net/detail/u014520797/9174959
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\security目录下覆盖原来的文件,如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。
相关文章推荐
- [004]微信公众账号开发教程第1篇-根据用户openID获取用户基本信息
- 微信开发学习路线
- Android之附加图片—— 仿微信图片选择器
- XMPP框架 微信项目开发之登录的实现——登录的步骤示例
- 022.随机数输出
- 微信开发中bug的修复和遇到的问题。
- Android之微信接入分享,登录功能。
- 用Notepad++中的NppExec插件编译运行Java小程序
- XMPP框架 微信项目开发之XMPP框架的导入——XMPP框架导入的详细步骤
- 玩转微信开发(带你读懂开源微信营销平台微擎)
- 一个典型的JDBC小程序
- JAVA微信支付 实现服务端返回预付单号和签名
- 微信开发之附近商家地理位置计算和腾讯地图坐标转百度地图坐标的方法
- Android支付宝、微信支付阐述
- XMPP框架 微信项目开发之XMPP框架目录作用详解——以及登录的Demo分析
- 原创视频|手把手教你用Axure做一个微信高保真原型(一)
- 调用微信支付遇到的问题
- 微信开发(六)微信分享接入
- 微信开发(八)自动回复和多客服开发
- 安卓 微信开发步骤