Tomcat启动异常:无法读取架构文档

时间:2016-04-26 15:50:19

标签: tomcat7 xsd-validation

这是在tomcat 7(.69)上的idp.war部署

无法读取架构文档'类路径:/schema/shibboleth-2.0-services.xsd'

在跟踪中它暗示了一些事情:

1)找不到该文件。

2)无法阅读该文件。

3)文档的根元素不是<xsd:schema>

我可以进入部署:idp / WEB-INF / lib / shibboleth-common-1.2.1.jar / schema /并查看Service.xml文件声明为的所有shibboleth-2.0- .xsd文件schemaLocations

这个文件夹是由tomcat部署为tomcat创建的,所以我不知道为什么它不能被阅读,我猜这里的权限问题不适用。

和.xsd文档的根元素是

<schema ... > 

因此符合资格

<xsd:schema> 

正确还是不?

1 个答案:

答案 0 :(得分:0)

两点:

(1)元素类型名称schema的起始标记与元素类型名称xsd:schema的起始标记是否有效取决于名称空间绑定,这里省略。 (开始标记<xsd:schema>不能作为名称空间格式良好的XML文档中的第一个标记出现,因此我假设您已经解释,而不是引用。)

如果未加前缀的schema起始标记使&#34; http://www.w3.org/2001/XMLSchema&#34;默认命名空间,那么这可能不是你的问题。 (但是下次你提出一个问题时提示:省略命名空间绑定等突出信息会使你的问题不那么明确,并且不太可能得到有用的答案。)

(2)您引用的错误消息在字符串&#39; class&#39;之间留空。和&#39;路径&#39; - 如果您对模式文档的引用实际上已经开始&#34;类路径:&#34;,那么这就是您的问题:Shibboleth的documentation说:

  

Shibboleth定义了一个特殊的URL方案classpath,它确保从类路径中解析模式文件。

作为URI语法的问题,在方案名称的中间不允许使用空格。您需要以这种方式启动任何要识别的URI,使用&#34; classpath:/&#34;,而不是&#34;类路径:/&#34;。