2010-02-20 1 views
2

Я пытаюсь написать простой веб-сайт Google App Engine, который читает внешний RSS-канал. Я использую ROME с JDOM, однако у меня создается впечатление, что ROME не совместим с Google App Engine и как вы можете получать данные.Как читать RSS из Google App Engine? Получение JDOM не удалось создать парсер SAX

РИМ использует сборки метод класса SyndFeedInput, но я не могу найти способ, как соединить это с Google App Engine и URL Fetch.

Моего пример код:

URL url = new URL(rss_url); 
Reader r = new InputStreamReader(url.openStream()); 
SyndFeed feed = new SyndFeedInput().build(r); 

Но на моем третьем ряду я получаю

java.lang.IllegalStateException: JDOM could not create a SAX parser 

Это работает, если я запускаю код в собственном отдельном приложении, но когда я спусковой крючок код через Google App Engine локально, я получаю исключение.

Что я делаю неправильно и какие альтернативы я могу попытаться прочитать внешний RSS?

ответ

0

Существует работа вокруг этой проблемы с JDOM, который затем решает эту проблему для РИМ

Место xercesImpl-xxxjar в войне/WEB-INF/Библиотека

См http://code.google.com/p/googleappengine/issues/detail?id=1367 Многие люди копируют более чем xercesImpl или библиотеки, содержащие xerces (например, некоторые дистрибутивы xalan), однако xercesImpl - это все, что вам нужно.

Работа по-прежнему работает, так как появляется JDOM неправильно использует JAXP для загрузки анализатора SAX SAE.

работал для меня с: GAE 1.3.7 рима 1.0 JDOM 1.1.1 xercesImpl-2.6.1.jar

1

Работала для меня: GAE 1.4.0 рима 1.0 JDOM 1.1.1 xercesImpl -2.11.0.jar xml-apis.jar

Смежные вопросы