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.参数配置完成,点保存,如果成功则会提示设置成功,然后这个接口就可以正常开发逻辑了。