这是在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>
正确还是不?
答案 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;。