1、一个可以公网访问的接入项目
2、需要一个企业微信账号
企业微信官网:https://work.weixin.qq.com/
3、策略文件 报illegal key size异常时见
博客:http://www.cnblogs.com/shirui/p/7411735.html
4、微信的加密解密包
下载链接:http://qydev.weixin.qq.com/java.zip
5、企业微信api
链接:https://work.weixin.qq.com/api/doc
好了,上述是一些参考文件,以及遇到的一些bug的处理,接下就是开始配置接受消息的服务器配置了。
搭建环境:springmvc + maven + eclipse
首先看个流程
根据这个流程,来做具体操作,
1、建立controller
import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.wechat.common.aes.AesException;
import com.wechat.common.aes.WXBizMsgCrypt;
import com.wechat.common.parameter.Parameter;
/**
* 应用模块的controller
*
* @author WRY
*
*/
@Controller
public class ApplicationController {
@RequestMapping(value = "/ApplicationController")
public void EntryMethod(HttpServletRequest request, HttpServletResponse response) throws Exception {
// 微信加密签名
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();
// 通过检验msg_signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败
String result = null;
try {
WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(Parameter.TOKEN, Parameter.ENCODINDAESKEY, Parameter.CORPID);
result = wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr);
} catch (AesException e) {
e.printStackTrace();
}
if (result == null) {
result = Parameter.TOKEN;
}
out.print(result);
out.close();
out = null;
}
}
Parameter.TOKEN, Parameter.ENCODINDAESKEY,分别对应下面配置的token和encodingAESkey。 Parameter.CORPID 企业微信唯一的标识,在“我的企业”栏目下可查看
2.参数配置完成,点保存,如果成功则会提示设置成功,然后这个接口就可以正常开发逻辑了。