微信服务器 异步通知服务器接收通知

    1,业务防止多次重复;

    2,以此通知到账为准,实现到账业务逻辑实现。

    注意事项:

     微信服务器 通知消息,以流形式接收消息;

      校验消息;

      解析消息按状态,实现对应业务处理。

    接收消息关键代码:

    response.setCharacterEncoding("utf-8");
    			request.setCharacterEncoding("utf-8");
    			//response.setContentType("text/xml");
    			pw = response.getWriter();
    			InputStream in = request.getInputStream();
    			BufferedInputStream bis = new BufferedInputStream(in);
    			byte[] bytes = new byte[2048];
    			int len = -1;
    			StringBuilder sb = new StringBuilder();
    			while ((len = bis.read(bytes)) != -1) {
    				sb.append(new String(bytes, 0, len));
    			}
    			bis.close();
    			String result = sb.toString();


    解析消息关键代码:

        

     Document doc = null;		
    try {
    			// 读取并解析XML文档
    			// SAXReader就是一个管道,用一个流的方式,把xml文件读出来
    			// SAXReader reader = new SAXReader(); //aa.xml表示你要解析的xml文档
    			// Document document = reader.read(new File("aa.xml"));
    			// 下面的是通过解析xml字符串的
    			doc = DocumentHelper.parseText(xmlstring); // 将字符串转为XML
    			Element root = doc.getRootElement(); // 获取根节点
    			if(root.element("result_code")!=null){
    				vo.setResult_code(trims(root.elementTextTrim("result_code")));
    			}
    }catch(Exception e){
     
    }
    联系QQ:343886028 --加QQ群 145315854