Я нажимаю 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