报错代码位置
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();
// 得到根元素的所有子节点
@SuppressWarnings("unchecked")
List<Element> elementList = root.elements();
// 判断又没有子元素列表
if (elementList.size()==0){
map.put(root.getName(), root.getText());
}else {
for (Element e : elementList) {
map.put(e.getName(), e.getText());
}
}
// 释放资源
inputStream.close();
inputStream = null;
System.out.println("---------xml转换为map-----:"+map);
return map;
}
给公众号发送消息,后台一直循环报错,看代码没有问题,后来发现控制类没加@ResponseBody注解
@PostMapping
public String getWeiXinMessage(HttpServletRequest request, HttpServletResponse response)throws Exception{
logger.info("----------------开始处理微信发过来的消息------------------");
改正后
@PostMapping
@ResponseBody
public String getWeiXinMessage(HttpServletRequest request, HttpServletResponse response)throws Exception{
logger.info("----------------开始处理微信发过来的消息------------------");
再给微信发送消息就正常了。