2011-05-02 1 views
0

Я ударяю xml и получаю ответ обратно во входном потоке. Этот xml находится на удаленном сервере.Получение JDOMException на одной машине, но тот же 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) в орг. springframework.web.servlet.mvc.AbstractController.handleRequest (AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle (SimpleControllerHandlerAdapter.java:48) at 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) at javax.servlet.http.HttpServlet.service (HttpServlet.java:743) at javax.servlet.http.HttpServlet.service (HttpServlet.java:856) в 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.ServletS tubImpl.execute (ServletStubImpl.java:175) at weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.run (WebAppServletContext.java:3231) at 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 (Unknown Source) в org.apache.xerces.util.ErrorHandlerWrapper.fatalError (Unknown Source) в org.apache.xerces.impl.XMLErrorReporter.reportError (Unknown Source) в org.apache.xerces.impl.XMLErrorReporter.reportError (Unknown Source) в org.apache.xerces.impl.XMLScanner.reportFatalError (Unknown Source)

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

-------------------------- продолжают -----

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

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

Thanks Hp

+0

Это был ответ вчера, но, поскольку он работает, я отправляю его. – Gendaful

+0

, пожалуйста, добавьте XML, чтобы дать нам больше подсказок –

ответ

0

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