あるマシンでjdomexceptionを取得しますが、同じXMLは別のマシンで正常に機能します

StackOverflow https://stackoverflow.com/questions/5858684

  •  27-10-2019
  •  | 
  •  

質問

XMLを押して、inputstreamで応答を取り戻しています。この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)が公開識別子で見つかりました。 atorg.jdom.input.saxbuilder.build(saxbuilder.java:468)at org.jdom.input.saxbuilder.build.build(saxbuilder.java:770)at com.cellularsouth.dao.appsitails.getandroidroidpapps.java :42)com.cellularsouth.discovercenter.appsdetails.web.androidapps.androidcategorydata(androidapps.java:28)でcom.cellularsouth.servlets.discovercentercontroller.handlerequestinternal(発見centercontroller.javaprfrerer.javaprnedt.fring.javaprfrerer.javaprfrerer.javadtreler.javadterternal) MVC.ABSTRACTCONTROLLER.HANDLEREQUEST(AbstractController.java:153)at org.springframework.web.servlet.mvc.simplecontrollerhandleradapter.handle(simplecontrollorerhandleradapter.java:48) 875)atorg.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:809)at org.springframework.web.servlet.frameworkservlet.processRequest(frameworkservlet.java:571) .doget(frameworkservlet.java:501 )javax.servlet.http.httpservlet.service(httpservlet.java:743)at javax.servlet.http.httpservlet.service(httpservlet.java:856) Java:227)at Weblogic.servlet.internal.stubsecurityhelper.invokeservlet(stubsecurityhelper.java:125)at weblogic.servlet.internal.servletstubimpl.execute(servletstubimpl.java:283) .java:175)ateblogic.servlet.internal.webappservletcontext $ servletinvocationaction.run(webappservletcontext.java:3231)at weblogic.security.acl.internal.authenticatedsubject.doas SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908) at weblogic.servlet.internal .servletrequestimpl.run(se rvletrequestimpl.java:1362)at weblogic.work.executethread.execute(executethread.java:209)at weblogic.work.executethread.run(executethread.java:181)文字(Unicode:0x5C)が公開識別子で見つかりました。 at org.apache.xerces.util.errorhandlerwrapper.createsaxparseexception(不明な情報源)org.apache.xerces.util.errorhandlerwrapper.fatalerror.pache.xerces.xerces.impl.xmlerroreporter.Reporteroror(未知のソース)at org.xerces.xerces.xerces.xerces.impl.xmlerrorreporter .apache.xerces.impl.xmlerrorreporter.ReporterRor(不明な情報源)org.apache.xerces.impl.xmlscanner.Reportfatalerror(不明なソース)

最初の行でエラーが発生しますが、実際にはここで問題がわかりません。 XMLはです

- - - - - - - - - - - - - 継続する - - -

ここで何が問題になるのかを理解することはできません。同じXMLが1つのマシンで正常に動作しており、他のマシンでは正常に動作しています。 XMLに問題はありません。

私を助けてください。

HPに感謝します

役に立ちましたか?

解決

問題が発生しました。問題は、私のサーバーがUNIXで実行され、私のローカルホストがWindowsで実行されていることです。したがって、XMLは適切にエンコードされていなかったため、Unixはいくつかのチャクターを見つけることができず、解析エラーが発生していましたが、Windowsで問題なくレンダリングしていました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top