Xsd 无法根据架构验证SAML 2.0断言

Xsd 无法根据架构验证SAML 2.0断言,xsd,saml,xml-validation,spring-saml,Xsd,Saml,Xml Validation,Spring Saml,我正在使用,但在使用SAML断言(来自 https://idp.example.org/SAML2 ... 3f7b3dcf-1674-4ecd-92c8-1544f346baf8 https://sp.example.com/SAML2 urn:oasis:name:tc:SAML:2.0:ac:classes:PasswordProtectedTransport 成员 工作人员 我从XML验证中得到错误。错误甚至在我从IDE执行模式验证时出现(Intelij IDEA tools->XM

我正在使用,但在使用SAML断言(来自


https://idp.example.org/SAML2
...
3f7b3dcf-1674-4ecd-92c8-1544f346baf8
https://sp.example.com/SAML2
urn:oasis:name:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
成员
工作人员
我从XML验证中得到错误。错误甚至在我从IDE执行模式验证时出现(Intelij IDEA tools->XML Actions->Validate)

xenc-schema.xsd中的xml架构似乎无效(应该有inlcude而不是import)。此代码来自xmltooling-1.4.4.jar库(最新版本)

这是SpringSAML或xmltooling模式文件中的错误,还是我做错了什么

我的商业案例是由身份提供商发起的SSO。 如第1点所述 5.在SP上请求断言使用者服务 我在POST请求中使用SAML断言(主体包含SAMLResponse=

大喊大叫

  • \xmltooling-1.4.4.jar!\schema\xmldsig-core-schema.xsd错误:(2360)src import.3.1:名称空间属性, '',一个元素的 信息项必须与targetNamespace属性相同, 导入文档的“urn:oasis:names:tc:SAML:2.0:assertion”

  • \xmltooling-1.4.4.jar!\schema\xenc-schema.xsd错误:(2360)src import.3.1:名称空间属性, '',一个元素的 信息项必须与targetNamespace属性相同, 导入文档的“urn:oasis:names:tc:SAML:2.0:assertion”

  • \opensaml-2.6.4.jar!\schema\saml-schema-assertion-2.0.xsd错误:(34,48)src resolve:无法解析名称 “xenc:EncryptedData”到(n)“元素声明”组件。 错误:(46,56)src resolve:无法将名称“ds:Signature”解析为 (n)“元素声明”组件

  • \wikipediaExample.xml错误:(11,59)cvc复杂类型。2.4.a:发现以元素“ds:Signature”开头的无效内容。其中一个 “{”urn:oasis:names:tc:SAML:2.0:assertion:Subject, “urn:oasis:names:tc:SAML:2.0:assertion”:条件, “urn:oasis:names:tc:SAML:2.0:assertion”:Advice, “urn:oasis:names:tc:SAML:2.0:assertion”:语句, “urn:oasis:names:tc:SAML:2.0:assertion”:AuthnStatement, “urn:oasis:names:tc:SAML:2.0:assertion”:AuthzDecisionStatement, “urn:oasis:names:tc:SAML:2.0:assertion:AttributeStatement}”是 应为。错误:(11,77)cvc复杂类型。2.3:元素“ds:签名” 不能有字符[子项],因为类型的内容类型为 仅元素。错误:(11,77)cvc复合类型。2.4.b:元素的含量 元素“ds:签名”不完整。其中一个 应为“{”“:SignedInfo}”


正如您在XML中所看到的,签名内容由三个点组成:

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
。。。

XML验证正确地告诉了您这个问题。

正如您在XML中看到的,签名内容用三个点表示:

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
。。。

XML验证正确地告诉了您这个问题。

对,错误消息的最后一行指向根本原因。我只是想知道为什么错误消息如此长且具有误导性-为什么第一行提到架构文件中的一些错误?对,错误消息的最后一行指向根本原因。我只是想知道为什么错误消息如此长且具有误导性太长而且容易引起误解-为什么第一行提到模式文件中的一些错误?