Java XmlReader在所有情况下都返回null

Java XmlReader在所有情况下都返回null,java,xml-parsing,activemq,xmlreader,Java,Xml Parsing,Activemq,Xmlreader,我有一个代码,可以从activemq获取dat并在Rss提要上显示数据,但是代码没有给我提要上的数据,我得到一个空列表,原因似乎是XmlReader=null;我已经设置了这行数据,在整个执行过程中,reder似乎为空 public List<RssFeedMessage> readRssFeeds(@PathVariable String sourceName) { XmlReader reader = null; RssFeedMessage rssFeedMes

我有一个代码,可以从activemq获取dat并在Rss提要上显示数据,但是代码没有给我提要上的数据,我得到一个空列表,原因似乎是XmlReader=null;我已经设置了这行数据,在整个执行过程中,reder似乎为空

public List<RssFeedMessage> readRssFeeds(@PathVariable String sourceName) {
    XmlReader reader = null;
    RssFeedMessage rssFeedMessage = null;
    StringBuffer feedUrl = new StringBuffer("http://").append(ipaddress).append(":")
            .append(port).append("/admin/queueBrowse/").append(sourceName).append("?view=rss&feedType=rss_2.0");
    List<RssFeedMessage> rssFeedMessages = new ArrayList<RssFeedMessage>();
    try {
        URL url = new URL(feedUrl.toString());
        reader = new XmlReader(url);
        SyndFeed feedMsg = new SyndFeedInput().build(reader);
        List<SyndEntry> feedEntries = feedMsg.getEntries();
        for (SyndEntry entry : feedEntries) {
            rssFeedMessage = new RssFeedMessage();
            rssFeedMessage.setTitle(entry.getTitle());
            rssFeedMessage.setDescription(entry.getDescription().getValue());
            rssFeedMessage.setDate(OptimerUtil.simpleDateHourTimeInd.format(entry.getPublishedDate()));

            rssFeedMessages.add(rssFeedMessage);
        }
    } catch(IOException e){
        e.printStackTrace();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (FeedException e) {
        e.printStackTrace();
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
            }
        }
    }

    return rssFeedMessages;
}
}
public List readRssFeeds(@PathVariable String sourceName){
XmlReader=null;
RssFeedMessage RssFeedMessage=null;
StringBuffer feedUrl=新的StringBuffer(“http:/”).append(ipaddress).append(“:”)
.append(port).append(“/admin/queueBrowse/”).append(sourceName).append(“?view=rss&feedType=rss_2.0”);
List rssFeedMessages=new ArrayList();
试一试{
URL=新URL(feedUrl.toString());
reader=新的XmlReader(url);
SyndFeed feedMsg=新建SyndFeedInput().build(读取器);
List feedEntries=feedMsg.getEntries();
用于(同步条目:feedEntries){
rssFeedMessage=新的rssFeedMessage();
rssFeedMessage.setTitle(entry.getTitle());
rssFeedMessage.setDescription(entry.getDescription().getValue());
setDate(OptimerUtil.simpleDateHourTimeInd.format(entry.getPublishedDate());
添加(rssFeedMessage);
}
}捕获(IOE异常){
e、 printStackTrace();
}捕获(IllegalArgumentException e){
e、 printStackTrace();
}捕获(FEEDE){
e、 printStackTrace();
}最后{
if(读卡器!=null){
试一试{
reader.close();
}捕获(IOE异常){
}
}
}
返回rssfeed消息;
}
}
它只是退出,因为在reader=newxmlreader(url)上出现i get io异常时,reader仍然为null


检查
feedUrl
行中包含的内容
URL=newurl(feedUrl.toString())

字符串可能有问题。
另外,要使您管理字符串等于
null
或不可访问等条件,在对其进行解析之前

请发布异常堆栈跟踪。如果你打开一个浏览器,将内置的url粘贴到一个地址中,它能工作吗?@OldCurmudgeon它向我展示了一堆我甚至不需要它包含的垃圾,如果我在浏览器上尝试它,它会给我垃圾,XmlReader对象读取器总是空的,它根本不进入列表,跳转到io异常并打印stacktrace