微信菜单点击后。服务器返回消息无接收

龙影 发布于 2014/06/29 18:50
阅读 1K+
收藏 0

@夏悸 你好,想跟你请教个问题:

如标题。我在用你的wechat api开发了一个系统。但是能够接收到点击事件发过来的报文,但是直接返回消息,微信收不到。请问如何解决?

代码如下:

web action调用:

}else{//微信推送消息过来处理
			HttpServletResponse response=this.getResponse();
			response.setCharacterEncoding("UTF-8");
	        response.setContentType("text/xml");
	        try{
		        ServletInputStream in = request.getInputStream();
		        String xmlMsg = Tools.inputStream2String(in);
		        log.debug("输入消息:================\n" + xmlMsg + "\n================\n");
		        String xml = WeChat.processing(xmlMsg);
		        log.debug("输出消息:================\n" + xml + "\n================\n");
		        response.getWriter().write(xml);
	        }catch(Exception e){
	        	log.error("处理消息异常",e);
	        }
		}

对应的消息处理:

/**
 * 消息处理
 * @author 龙影
 */
public class MessageProcessingHandlerImpl implements MessageProcessingHandler{
	private static final Logger log=Logger.getLogger(MessageProcessingHandlerImpl.class);
	private OutMessage outMessage;
	@Override
	public void allType(InMessage msg) {
		TextOutMessage out = new TextOutMessage();
		out.setContent("您的消息已经收到!");
		setOutMessage(out);
	}

后台也未报异常。




加载中
0
墨仝mt
墨仝mt
看看返回给腾讯服务器的xml信息格式是否正确,还有from to是不是对应的openid
龙影
龙影
问题已经解决。是未使用WechatFilter的原因。
0
夏悸
夏悸

log.debug("输出消息:================\n" + xml + "\n================\n");

打印出来的xml是什么样子?

龙影
龙影
目前已经解决了。谢谢。采用wechatfilter来处理了。
返回顶部
顶部