`
sunyigao
  • 浏览: 3798 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

微信企业号回调模式配置详解

 
阅读更多
前几天微信推出了企业号,我就进去关注了一下,发现用途大大的多,就顺手整了一个测试号来试试,由于是新出的玩意儿,很多东西有文档也不到一定知道整,我这个配置就花了蛮久才找到失败的原因,最终是借用了浩然哥的服务器,才验证了我的猜想,也就是我们群主说的jec加解密包必须与JDK version一致,下面说说详细的配置吧

首先你需要一个加解密包,这个官方有提供压缩文件的,我贴上地址给大家:

http://qydev.weixin.qq.com/wiki/index.php?title=%E5%8A%A0%E8%A7%A3%E5%AF%86%E5%BA%93%E4%B8%8B%E8%BD%BD%E5%92%8C%E8%BF%94%E5%9B%9E%E7%A0%81

这个连接里面有4个语言的库文件:java\php\python\c#

我的是java的,然后下载一个jar包,不下也无所谓,上面说的4个语言库包里自带了那个jar,也就是
commons-codec-1.9,

注意:jec包要与环境的JDK版本一致,否则就算替换掉
local_policy.jar和US_export_policy.ja依旧会失败,我开始就是这种情况,请大家一定要注意环境配置的JDK的版本是否与jec一致

Linux java Path键入命令:which java

Windows javaPath :java -verbose

Linux示例图:



Windows:



下载jec加解密文件之后替换掉原来的文件,注意备份哦,
JCE-7(此为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目录下覆盖原来文件

可以用框架,可以用其方式,看自己喜好~

我的应用架构图:




核心配置、核心代码:



public class CoreServlet extends HttpServlet{
private String token = "xxxxxxx"; //可用户自动生成、可自定义,需应用与后台一致
private String encodingAESKey = "xxxxxxx"; //自动生成密钥
private String corpId = "xxxxxxx"; //企业号ID
/**
*
*/
private static final long serialVersionUID = 4440739483644821986L;
@Override
protected 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");
System.out.println("request=" + request.getRequestURL());
PrintWriter out = response.getWriter();
// 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败
String result = null;
try {
WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token,encodingAESKey,corpId);
result = wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr);
} catch (AesException e) {
e.printStackTrace();
}
if (result == null) {
result = token;
}
// else{
// result = token;
String str = msg_signature+" "+timestamp+" "+nonce+" "+echostr;
System.out.println("Exception:"+result+" "+ request.getRequestURL()+" "+"FourParames:"+str);
// }
out.print(result);
out.close();
out = null;
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 调用核心业务类接收消息、处理消息
String respMessage = CoreService.processRequest(request);
System.out.println("respMessage=" + respMessage);
// 响应消息
PrintWriter out = response.getWriter();
out.print(respMessage);
out.close();
}

}

回调配置结果:


转载请标明出处,尊重他人劳动成果,谢谢~!
分享到:
评论

相关推荐

    微信企业号回调模式实例(Java版)

    在Java中实现微信企业号回调,首先需要设置好微信企业号的开发者配置,包括填写正确的AppID、AppSecret以及回调URL。这些信息通常在微信企业号的管理后台进行设置。然后,我们需要创建一个可以监听并处理POST请求的...

    亲测完整微信企业号回调模式URL验证代码

    - 微信企业号回调模式是一种基于HTTP/HTTPS协议的安全机制,用于确保微信服务器发送的消息只能被正确配置的回调URL接收。 - 在回调模式下,微信服务器在接收到企业号应用的请求后,会向设置的回调URL发送一个带有...

    微信企业号回调验证asp.net版(仿官方C#加解密库)

    根据微信官方C#加解密库改写成适用于asp.net的回调模式验证 Cryptography.vb文件封装了AES加解密过程。 WXBizMsgCrypt.vb文件提供了用户接入企业微信的接口。 Sample.aspx.vb文件提供了回调验证的示例。

    微信企业号回调模式例子

    本例子将深入讲解微信企业号回调模式的实现。 在微信企业号开发中,回调模式主要涉及以下几个核心概念: 1. **接入验证**:微信企业号首先通过验证开发者设置的回调URL来确保请求来自微信服务器。这通常通过在请求...

    微信企业号回调模式连接代码

    微信企业号是微信为企业用户提供的一个内部沟通与服务的平台,它允许企业构建自己的工作流程、内部服务和对外沟通窗口。...通过学习和理解这些代码,你可以更好地掌握微信企业号回调模式的开发实践。

    微信企业号回调接口

    微信企业号回调接口是微信为企业用户提供的一个关键功能,它允许企业通过编程方式与微信企业号进行实时数据交互。在企业应用开发中,回调接口扮演着数据同步、事件响应和消息处理的重要角色。理解并熟练掌握微信...

    微信企业号回调模式代码

    微信企业号回调模式是微信为企业用户提供的API交互方式,它允许开发者通过服务器与微信服务器进行实时数据交换,实现各种业务功能。在这个场景下,我们主要关注的是PHP版本的回调模式代码实现。 首先,理解微信...

    微信企业号回调模式demo,在各网络版本基础上调试修改成功

    以下是对这个"微信企业号回调模式demo"的详细解析。 1. **回调模式**: 微信企业号回调模式是基于HTTP的POST请求,当用户在企业微信上执行特定操作(如发送消息、点击菜单)时,微信服务器会将这些事件以XML格式的...

    微信企业号回调模式设置图解(PHP版).docx

    ### 微信企业号回调模式设置详解(PHP版) #### 一、背景介绍 随着微信企业号功能的日益完善,越来越多的企业开始将其作为内部沟通与服务的重要平台之一。微信企业号提供了一种强大的消息推送机制,即“回调模式”...

    微信企业号回调模式php(demo)

    在回调模式下,企业不仅可以主动调用企业号接口,还可以接收用户的消息或事件。当你开启应用的回调模式时,企业号会要求你填写应用的URL、Token、EncodingAESKey三个参数。 此源码为自用已验证源码。供参考。

    微信企业号回调实例.zip

    微信企业号回调实例.zip是一个关于微信企业号回调消息加密处理的综合资源包。这个压缩文件包含了一份详细的技术文档,一个示例图片以及针对三种不同编程语言(Python, Java, PHP)的加密示例代码。 首先,我们要...

    微信企业号回调模式开启的URL验证

    微信企业号开发的准备工作,开启回调模式的URL验证以及接受微信企业用户的消息,包括文本、图片、图文、语音和视频消息

    微信企业号开启回调模式代码

    微信企业号回调模式是微信为企业用户提供的消息交互接口,它允许企业通过编程方式接收微信用户发送的消息或事件,然后进行相应的处理。回调模式的核心在于,微信服务器会将用户的请求转发到开发者预先设置的回调URL...

    C#实现微信企业号回调模式并上传图片到本地服务器

    本实例是参考其他网友提供的代码,经过本人综合修改所成,经本人亲测可以正常运行。本实例实现了对文本消息与图片消息的自动回复,并将上传到微信服务器中...希望给苦苦寻找.net代码开发微信企业号的朋友提供一些帮助。

    C#微信企业号接收和发送消息

    在本文中,我们将深入探讨如何使用C#编程语言与微信企业号进行交互,实现消息的接收和发送。微信企业号是一种为企业用户提供内部通讯和管理工具的服务,它允许开发者通过API接口进行定制化开发,实现自动化的工作...

    微信企业号开发php完整回调版

    5. **回调机制**:回调函数是微信企业号处理消息的核心部分。当微信服务器接收到用户的消息或事件后,会将这些信息发送到开发者设定的回调URL,开发者需要在这个URL上编写代码来处理这些消息。 6. **自动回复**:...

    微信企业号推广案例

    【微信企业号】是微信为企事业单位打造的一款企业级通讯与办公工具,旨在解决传统OA系统在移动设备上的局限性,如界面不美观、系统兼容性差和推广困难等问题。微信企业号通过集成多种功能,为企业提供了一个统一的...

    微信入门程序《代码来自牟云飞微信企业号开发完全自学手册》

    在微信企业号开发中,入门程序是学习和掌握微信接口调用的基础。《微信企业号开发完全自学手册》提供了一套完整的教程,帮助开发者逐步理解并实现与微信接口的交互。本节主要介绍主动调用模式,即由服务器端向微信...

    微信企业号回调验证PHP代码,绝对能用!

    总的来说,微信企业号回调验证是一个涉及安全性和可靠性的过程,开发者需要正确实现这个验证机制,确保与微信服务器的通信安全。以上代码提供了一个基础的实现方案,但实际项目中可能需要根据具体需求进行适当的调整...

    C#最精简的微信企业号发送消息

    接收消息待上传...",这表明目前的代码仅实现了发送消息的功能,而接收微信企业号的回调消息部分尚未完成。接收消息通常涉及到设置服务器的Webhook,当微信服务器接收到用户的行为后,会向开发者设定的URL发送POST...

Global site tag (gtag.js) - Google Analytics