1.数据交互原理
首先,我们要明白,普通微信用户向公众号发送信息,然后公众号服务器回复一条消息的整个过程,数据是怎样传递的。
1)用户向微信服务器发送请求
2)微信服务器向公众号服务器发一条xml数据包
3)公众号服务器解析这个xml数据包,进行逻辑处理,处理结果再打包成xml文件返回给微信服务器
4)微信服务器再将信息返回给微信客户端
2.接收文本消息
微信服务器向公众号服务器发送的xml文件内容如下:
ToUserName:开发者微信号
FromUserName:发送方帐号(一个OpenID)
CreateTime:消息创建时间 (整型)
MsgType:text
Content:文本消息内容
MsgId:消息id,64位整型
我们在服务器这边首先是要将xml文件进行解析,创建一个工具类MessageUtil,然后编写一个xmlToMap()方法
/*
* xml转为map集合
*/
public static Map<String,String> xmlToMap(HttpServletRequest request) throws IOException, DocumentException{
Map<String,String> map=new HashMap<String,String>();
SAXReader reader=new SAXReader();
InputStream i