【发布时间】:2011-01-18 14:27:04
【问题描述】:
我有一个在不允许公共互联网访问的生产服务器上运行的网络应用程序。初始化失败,出现类似
的错误2010-02-18 15:21:33,150 **WARN** [SimpleSaxErrorHandler.java:47] Ignored XML validation warning
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'https://jax-ws.dev.java.net/spring/servlet.xsd', because 1) could not find the document; 2) the document could not be
read; 3) the root element of the document is not <xsd:schema>.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
...
2010-02-18 15:21:33,154 **ERROR** [ContextLoader.java:215] Context initialization failed
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 9 in XML document from ServletContext resource [/WEB-INF/app.xml] is invalid; nested exception is org.xml.sax.SAXPar
seException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'wss:binding'.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:389)
第一个 WARN 似乎表明应用程序未能下载架构文件,导致第二个错误。
我的问题是:
我觉得我应该能够运行应用程序而无需访问互联网是合理的。我如何要求 xml 解析器使用本地模式文件而不是从 Internet 下载的副本。我知道 XML 目录有这个能力。我正在使用tomcat和spring。有没有办法配置 XML 目录?还有其他机制可以达到同样的目的吗?
如果我无法重定向解析器以使用本地模式文件。我可以禁用 xml 架构验证吗?同样,我想只配置行为而不接触代码。
【问题讨论】: