微信企业号开发1--连接

1.官方文档:http://mp.weixin.qq.com/wiki/10/6380dc743053a91c544ffd2b7c959166.html

2.查看文档中的接入方法和接入成功的判断标准


返回解密后的明文即为调用成功

3.下载官方文档中解密提供的源码

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


4.创建web项目,将下载好的java项目中的src下的包导入这个web项目src包下,创建servlet,调用源码中已有的方法

package com.baosight.wechat.servlet;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;




import com.qq.weixin.mp.aes.AesException;
import com.qq.weixin.mp.aes.WXBizMsgCrypt;


/**
 * Servlet implementation class connect
 */
public class connect extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public connect() {
        super();
        // TODO Auto-generated constructor stub
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String sVerifyEchoStr = request.getParameter("echostr");
        String sEchoStr=null; //需要返回的明文
        try {
        	String token = "yourToken";
        	String encodingAesKey = "yourAesKey";
        	String corpId = "yourCorpId";

            WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token, encodingAesKey, corpId);
            String sVerifyMsgSig = request.getParameter("msg_signature");
            String sVerifyTimeStamp = request.getParameter("timestamp");
            String sVerifyNonce = request.getParameter("nonce");

            sEchoStr = wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp,
                    sVerifyNonce, sVerifyEchoStr);
        } catch (AesException e1) {
            sEchoStr="ERR: "+e1.getCode()+ "\n\n";
            e1.printStackTrace();
        }

        response.getWriter().print(sEchoStr);
        response.getWriter().flush();

    }

    /**
     * 解析post提交的数据,并转交给处理程序
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //获得请求参数
    	String token = "yourToke";
    	String encodingAesKey = "yourAesKey";
    	String corpId = "yourCorpID";
        String sReqMsgSig =  request.getParameter("msg_signature");
        String sReqTimeStamp = request.getParameter("timestamp");
        String sReqNonce = request.getParameter("nonce");
        //获得post提交的数据
        BufferedReader br=new BufferedReader(new InputStreamReader(request.getInputStream()));
        StringBuilder sbuff=new StringBuilder();
        String tmp=null;
        while((tmp=br.readLine())!=null){
            sbuff.append(tmp);
        }
        String sReqData = sbuff.toString();
        String sEchoStr=null;
        try {
            WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token,encodingAesKey, corpId);
            String sMsg = wxcpt.DecryptMsg(sReqMsgSig, sReqTimeStamp, sReqNonce, sReqData);


            sEchoStr = wxcpt.EncryptMsg(sEchoStr, sReqTimeStamp, sReqNonce);
        } catch (AesException e1) {
            sEchoStr="ERR: "+e1.getCode()+ "\n\n";
            e1.printStackTrace();
        }
        response.getWriter().print(sEchoStr);

    }
}

5.在服务器上部署项目,并运行

6.登录启用回调模式,设置url token aesKey

url为所访问的servlet



点击完成,显示:成功配置企业服务器



注意问题:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值