我的项目使用的是Xerces2.11.0。但是,我在朗姆酒时间犯了错误。错误的堆栈跟踪如下:

java.lang.Exception: org.openid4java.discovery.DiscoveryException: 0x70d: Error parsing XML document
        at org.iitk.brihaspati.modules.actions.GoogleRequest.performDiscoveryOnUserSuppliedIdentifier(GoogleRequest.java:83)
        at org.iitk.brihaspati.modules.actions.GoogleLogin.doPerform(GoogleLogin.java:86)
        at org.apache.turbine.modules.actions.VelocityAction.doPerform(VelocityAction.java:84)
        at org.apache.turbine.util.velocity.VelocityActionEvent.perform(VelocityActionEvent.java:120)
        at org.apache.turbine.modules.actions.VelocityAction.perform(VelocityAction.java:110)
        at org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:134)
        at org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:154)
        at org.apache.turbine.modules.Page.build(Page.java:91)
        at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:136)
        at org.apache.turbine.Turbine.doGet(Turbine.java:796)
        at org.apache.turbine.Turbine.doPost(Turbine.java:891)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:466)
        at org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:216)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
        at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
        at java.lang.Thread.run(Thread.java:636)
Caused by: org.openid4java.discovery.DiscoveryException: 0x70d: Error parsing XML document
        at org.openid4java.discovery.xrds.XrdsParserImpl.parseXmlInput(XrdsParserImpl.java:197)
        at org.openid4java.discovery.xrds.XrdsParserImpl.parseXrds(XrdsParserImpl.java:50)
        at org.openid4java.discovery.yadis.YadisResolver.retrieveXrdsLocation(YadisResolver.java:448)
        at org.openid4java.discovery.yadis.YadisResolver.discover(YadisResolver.java:252)
        at org.openid4java.discovery.yadis.YadisResolver.discover(YadisResolver.java:232)
        at org.openid4java.discovery.yadis.YadisResolver.discover(YadisResolver.java:166)
        at org.openid4java.discovery.Discovery.discover(Discovery.java:147)
        at org.openid4java.discovery.Discovery.discover(Discovery.java:129)
        at org.openid4java.consumer.ConsumerManager.discover(ConsumerManager.java:542)
        at org.iitk.brihaspati.modules.actions.GoogleRequest.performDiscoveryOnUserSuppliedIdentifier(GoogleRequest.java:74)
        ... 46 more
Caused by: org.xml.sax.SAXParseException: s4s-att-invalid-value: Invalid attribute value for 'targetNamespace' in element 'schema'. Recorded reason: cvc-datatype-valid.1.2.1: 'xri://$xrd*($v*2.0)' is not a valid value for 'anyURI'.
        at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
        at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
        at org.openid4java.discovery.xrds.XrdsParserImpl.parseXmlInput(XrdsParserImpl.java:188)
        ... 55 more

我也试过其他版本,比如Xerces2.8.1和Xerces2.8.0。但是,每次我犯同样的错误。

最佳答案

这里给出了问题和可能的解决方案:
http://code.google.com/p/openid4java/issues/detail?id=122

关于java - 解析XML文档时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10613065/

10-10 11:05