微信公众平台 Premature end of file

今天在研究微信公众平台 自动接收发送消息的时候,在如下代码:

微信公众平台 Premature end of file
public String processRequest(HttpServletRequest request) {
        String respMessage = null;
        try {
            System.err.println(inputStream2String(request.getInputStream()).replaceAll("\n\r","").replaceAll("\n",""));
            // xml请求解析
            Map<String, String> requestMap = MessageUtil.parseXml(request);
            // 发送方帐号(open_id)
            String fromUserName = requestMap.get("FromUserName");
            // 公众帐号
            String toUserName = requestMap.get("ToUserName");
            // 消息类型
            String msgType = requestMap.get("MsgType");
            TextMessage textMessage = new TextMessage();
            textMessage.setToUserName(fromUserName);
            textMessage.setFromUserName(toUserName);
            textMessage.setCreateTime(new Date().getTime());
            textMessage.setMsgType("text");
            textMessage.setFuncFlag(0);
            // 文本消息
            
            System.err.println("msgType:"+msgType);
            System.err.println("textMessage.getMsgType():"+textMessage.getMsgType());
            
            if (msgType.equals(textMessage.getMsgType())) {
                System.err.println("2");
                // 接收用户发送的文本消息内容
                String content = requestMap.get("Content");
                if ("1".equals(content)) {
                    textMessage.setContent("1是很好的");
                    // 将文本消息对象转换成xml字符串
                    respMessage = MessageUtil.textMessageToXml(textMessage);
                } else if ("2".equals(content)) {
                    textMessage.setContent("我不是2货");
                    // 将文本消息对象转换成xml字符串
                    respMessage = MessageUtil.textMessageToXml(textMessage);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.err.println("3");
        return respMessage;
    }
微信公众平台 Premature end of file

测试文本如下:

String s = "<xml><ToUserName><![CDATA[gh_41fbf927ea91]]></ToUserName>"
                + "<FromUserName><![CDATA[oehO4twMrDrZG3sZ1aeevO_f1Rb4]]></FromUserName>"
                + "<CreateTime>1400915169</CreateTime>"
                + "<MsgType><![CDATA[text]]></MsgType>"
                + "<Content><![CDATA[1]]></Content>"
                + "<MsgId>6016884835525482273</MsgId>" + "</xml>";

本地调试什么的,都挺好的,就是一发布到服务器就报了Premature end of file 的错误,后来上网上找了,用了各种办法,最后都不行,其中也看到了http://blog.sina.com.cn/s/blog_409994cb0100oj2t.html的帖子说的,仔细读取了博客,最后把“System.err.println(inputStream2String(request.getInputStream()).replaceAll("\n\r","").replaceAll("\n","")); ”这句测试代码删掉,然后就好了。。。。

我真想说,CNMLGB的,就这一个注释,浪费了我将近3个小时的时间。。。。菜鸟伤不起啊

微信公众平台 Premature end of file,布布扣,bubuko.com

微信公众平台 Premature end of file

上一篇:ASP.NET MVC 音乐商店 - 2.控制器


下一篇:C#学习网站 【转】