Получение JDOMException на одной машине, но тот же XML отлично работает на другой машине - PullRequest
0 голосов
/ 01 мая 2011

Я нажимаю xml и получаю ответ обратно в inputtream. Этот xml находится на удаленном сервере.

Всякий раз, когда я запускаю свой код на сервере, он выдает мне JDOMException, но тот же код, который я запускаю на своей локальной машине и использую тот же xml на удаленном сервере, работает нормально.

    URL url = new URL("http://testwww.net/xml/android.xml");

    InputStream stream = url.openStream();
    try {
        SAXBuilder builder = new SAXBuilder(false);
        xmlDocument = builder.build(stream);
    } catch (JDOMException e) {
        throw new Exception("unable to read android listing document", e);
    }

Я не могу понять, в чем может быть проблема, что тот же xml работает нормально на одной машине, а не на другой.

Пожалуйста, помогите мне.

Спасибо Hp

1 Ответ

2 голосов
/ 01 мая 2011

Исключение JDOME (предположительно) происходит, потому что сервер "testwww.net" отправляет тело ответа, не являющееся XML. Измените вашу программу, чтобы распечатать фактический поток ответов вместо того, чтобы пытаться анализировать его как XML. Это должно дать вам некоторые подсказки относительно основной проблемы. Даже распечатка стека трассировки JDOMException может быть полезна ... при условии, что вы можете получить этот вывод.


Если проблема в том, что вы выполняете этот код на каком-то сервере, и вы не можете получить отладочную информацию, которую ваш код записывает в «system.out», журнал сервера или что-то еще, то у вас проблемы. Вам придется использовать свое воображение, чтобы найти способ обойти это препятствие.

...