Получение JDOMException на одной машине, но тот же xml отлично работает на другой машине - PullRequest
0 голосов
/ 02 мая 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);
}

Трассировка стека

org.jdom.input.JDOMParseException: ошибка в строке 1: в общедоступном идентификаторе был обнаружен недопустимый символ XML (Unicode: 0x5c). в org.jdom.input.SAXBuilder.build (SAXBuilder.java:468) в org.jdom.input.SAXBuilder.build (SAXBuilder.java:770) в com.cellularsouth.dao.appsdetails.GetAndroidApps.getCategoriesData (GetAndroidApps.java:42) на com.cellularsouth.discovercenter.appsdetails.web.AndroidApps.androidCategoryData (AndroidApps.java:28) в com.cellularsouth.servlets.discovercentercontroller.handleRequestInternal (Discovercentercontroller.java:62) на org.springframework.web.servlet.mvc.AbstractController.handleRequest (AbstractController.java:153) в org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle (SimpleControllerHandlerAdapter.java:48) в org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:875) в org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:809) в org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:571) в org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:501) на javax.servlet.http.HttpServlet.service (HttpServlet.java:743) на javax.servlet.http.HttpServlet.service (HttpServlet.java:856) at weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run (StubSecurityHelper.java:227) на weblogic.servlet.internal.StubSecurityHelper.invokeServlet (StubSecurityHelper.java:125) на weblogic.servlet.internal.ServletStubImpl.execute (ServletStubImpl.java:283) на weblogic.servlet.internal.ServletStubImpl.execute (ServletStubImpl.java:175) в weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.run (WebAppServletContext.java:3231) в weblogic.security.acl.internal.AuthenticatedSubject.doAs (AuthenticatedSubject.java:321) на weblogic.security.service.SecurityManager.runAs (SecurityManager.java:121) на weblogic.servlet.internal.WebAppServletContext.securedExecute (WebAppServletContext.java:2002) на weblogic.servlet.internal.WebAppServletContext.execute (WebAppServletContext.java:1908) на weblogic.servlet.internal.ServletRequestImpl.run (ServletRequestImpl.java:1362) на weblogic.work.ExecuteThread.execute (ExecuteThread.java:209) на weblogic.work.ExecuteThread.run (ExecuteThread.java:181) Причина: org.xml.sax.SAXParseException: недопустимый символ XML (Unicode: 0x5c) был найден в общедоступном идентификаторе. в org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException (неизвестный источник) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError (Неизвестный источник) в org.apache.xerces.impl.XMLErrorReporter.reportError (неизвестный источник) в org.apache.xerces.impl.XMLErrorReporter.reportError (неизвестный источник) at org.apache.xerces.impl.XMLScanner.reportFatalError (неизвестный источник)

Это дает мне ошибку в первой строке, но на самом деле я не вижу здесь никакой проблемы. XML это

-------------------------- продолжить -----

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

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

Спасибо, Hp

1 Ответ

0 голосов
/ 05 мая 2011

У меня проблема.Проблема заключалась в том, что мой сервер работал в UNIX, а мой localhost работал в Windows.Таким образом, xml не был должным образом закодирован, поэтому Unix не смог найти некоторые разделы, и это приводило к ошибке синтаксического анализа, но они хорошо отображались в Windows.

...