图文的输出不了

来源:2-1 图文消息

JAVA学

2016-01-16 10:43

public static String newsMessageToXml(NewsMessage newsMessage){
        XStream xstream=new XStream();
        xstream.alias("xml",newsMessage.getClass());
        xstream.alias("item",new News().getClass());
        return xstream.toXML(newsMessage);
    }
    /**
     * 图文消息组装
     * @param map
     * @return
     */
    public static String initNewsMessaeg(Map<String,String>map){
        String message=null;
        List<News>newslist=new ArrayList<News>();
        NewsMessage newsMessage=new NewsMessage();
        News news=new News();
        news.setTitle("幕课网介绍");
        news.setDescription("本套课程介绍微信公众号的开发,主要介绍公众号介绍");
        news.setPicUrl("http://example.ngrok.cc/WeichatAbility/image/c.jpg");
        news.setUrl("www.imooc.com");
        newslist.add(news);
        newsMessage.setToUserName(map.get("toUserName"));;
        newsMessage.setFromUserName(map.get("fromUserName"));
        newsMessage.setCreateTime(new Date().getTime());
        newsMessage.setMsgType(MESSAGE_NEWS);
        newsMessage.setArticles(newslist);
        newsMessage.setArticleCount(newslist.size());
        message= newsMessageToXml(newsMessage);
        return message;
    }
    /**
     * 文本消息组装
     * @param map
     * @return
     */
    public static String initTestMessage(Map<String,String> map){
         TextMessage text = new TextMessage();
          text.setFromUserName(map .get("ToUserName"));
          text.setToUserName(map .get("FromUserName"));
          text.setMsgType(MESSAGE_TEXT);
          text.setCreateTime(new Date().getTime());
          String msgType= map.get("MsgType");
          String content=map.get("Content");
          String recontent ="";
          System.out.println(msgType);
          System.out.println(content);
          System.out.println(MESSAGE_TEXT.equals(msgType));
         if (MESSAGE_TEXT.equals(msgType)){
             if("1".equals(content)){
                 recontent=firstMenu();
             }else if("2".equals(content)){
                    recontent=initNewsMessaeg(map);
             }else if("?".equals(content)||"?".equals(content)){
                 recontent="请输入1或2";
             }
              text.setContent(recontent);
          }else if(MessageUtil.MESSAGE_EVENT.equals(msgType)){
              String eventType=map.get("Event");
              if(MessageUtil.MESSAGE_SUBSCRIBE.equals(eventType)){
                
          text.setContent(menuText());
        return textMessageToXml(text);
}} return textMessageToXml(text);
    }

写回答 关注

2回答

  • for_fun
    2016-01-26 10:46:56
    已采纳

    额,你这贴的,最后返回时生成的xml贴一下就行。xml生成格式对了,是可以输出了,根据xml看哪个地方没组装对。

  • 2281444815
    2016-01-30 12:21:21

    哥们你这里错了,弄反了,哎,大家错的都是粗心的地方

         newsMessage.setToUserName(map.get("toUserName"));;
            newsMessage.setFromUserName(map.get("fromUserName"));

    228144...

    把to和from换一下

    2016-01-30 12:25:29

    共 1 条回复 >

Java微信公众号开发进阶

Java微信公众号开发的进阶课程,在入门的基础上更加深入

87743 学习 · 343 问题

查看课程

相似问题