62,242
社区成员




public void Post(HttpServletRequest request,HttpServletResponse response) {
try{
// 调用parseXml方法解析请求消息
Map<String,String> requestMap = this.parseXml(request);
MessageReceive receive = new MessageReceive();
receive.setFromusername(requestMap.get("FromUserName"));
receive.setTousername(requestMap.get("ToUserName"));
receive.setAddtime(DateUtil.getNowDate());
receive.setMsgtype(requestMap.get("MsgType"));
receive.setContent(requestMap.get("Content"));
/*- 消息回复接口 -*/
String xml = InterficeService.replyMessage(receive);
//保存发送数据
MessageReply mr = new MessageReply();
mr.setContent(xml);
mr.setAddtime(DateUtil.getNowDate());
this.messageReplyService.save(mr);
//返回自动回复
response.setContentType("text/xml");
PrintWriter pw = response.getWriter();
pw.write(xml);
}catch(Exception ex){
ex.printStackTrace();
}
}
public Map<String,String> parseXml(HttpServletRequest request) throws Exception {
// 将解析结果存储在HashMap中
Map<String,String> map = new HashMap<String,String>();
// 从request中取得输入流
InputStream inputStream = request.getInputStream();
// 读取输入流
SAXReader reader = new SAXReader();
Document document = reader.read(inputStream);
// 得到xml根元素
Element root = document.getRootElement();
// 得到根元素的所有子节点
List<Element> elementList = root.elements();
// 遍历所有子节点
for (Element e : elementList)
map.put(e.getName(), e.getText());
// 释放资源
inputStream.close();
inputStream = null;
return map;
}