您的位置:首页 > 移动开发 > 微信开发

java开发微信公众平台(二)-- 消息的接收与回复文本消息

2015-04-03 00:01 483 查看
  前面完成了服务器的对接,这一篇主要是实现各类消息的接收,并封装成map形式,供后面的使用,以及回复文本消息。  

  前面介绍的服务器的对接是通过get请求,而微信服务器准发过来用户的信息则是通过post请求,因此我们的方法要在post中实现。

同样,sae在接收微信服务器发过来消息时仍需要验证消息的可靠性,与上一讲中类似,只不过当验证成功后不是返回echostr,而是对

微信服务器发过来的消息进行解析处理。

public class processReqest {
public static String process(HttpServletRequest request,HttpServletResponse response) throws Exception{
@SuppressWarnings("unchecked")
Map<String, String> map = RequestXML2Map.parseXml(request);
String result = "";
String msgType = map.get("MsgType");
String respContent = "";
//文本消息
if (msgType.equals("text")) {
respContent = TulingRobot.robot(map.get("Content"));
TextMessage textMessage = Map2Bean.parseText(map,respContent);
result = Bean2ResponseXML.textMessageToXml(textMessage);
}
//图片消息
else if (msgType.equals("image")) {
respContent = "";
return null;
}
//声音消息
else if (msgType.equals("voice")) {
respContent = "";
return null;
}
//视频消息
else if (msgType.equals("video")) {
respContent = "";
return null;
}
//地理位置
else if (msgType.equals("location")) {
respContent = "";
return null;
}
//事件类型
else if (msgType.equals("event")) {
String eventType = map.get("Event");
//订阅
if (eventType.equals("subscribe")) {
respContent = "欢迎订阅我的公众号!";
TextMessage textMessage = Map2Bean.parseText(map,respContent);
result = Bean2ResponseXML.textMessageToXml(textMessage);
}
//取消订阅
else if (eventType.equals("unsubscribe")) {
// TODO
return null;
}
//点击菜单
else if (eventType.equals("CLICK")) {
// TODO
return null;
}
}
return result;
}
}


回复文本消息

  就此我们已经完成了基本的实现,接收用户发过来的消息并对其进行回复,赶快打开微信试一试吧!

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: