xsd-schema-validator无法验证samlify xml

时间:2018-09-18 18:34:47

标签: java node.js xml single-sign-on saml

我正在尝试使用samlify(节点js库)执行sso身份验证。我同时拥有idp和sp xml文件。在我的node.js代码中,调用函数

sp.parseLoginResponse(idp, 'post', req) .then((parseResult) => {}); samlify使用xsd-schema-validator启动子进程,以验证架构的xml。

此验证命令失败,我不知道为什么。这是完整的命令和响应

[root@kartik-centos-test server]# java -Dfile.encoding=UTF-8 -classpath /root/angular_project/Hub-MAC-Dashboard/server/node_modules/xsd-schema-validator:/root/angular_project/Hub-MAC-Dashboard/server/node_modules/samlify/build/schemas support.XMLValidator -stdin -schema=/root/angular_project/Hub-MAC-Dashboard/server/node_modules/samlify/build/schemas/saml-schema-protocol-2.0.xsd 

[fatal] src-resolve: Cannot resolve the name 'ds:Signature' to a(n) 'element declaration' component.
result=FATAL_ERROR

无法验证samlify提供的架构文件。我怀疑这是因为java程序由于位于公司代理之后而无法完成http请求。这可能是原因吗?

请帮助。

1 个答案:

答案 0 :(得分:0)

奇怪的是,这个问题是因为我正在测试的虚拟盒子使用了代理来连接到互联网。在xsd库的代码中的某个地方,有一个Java类用于验证xml,并进行http调用。我必须进入xsd库的javascript代码并更改生成的Java命令以使用https代理,这样命令才能成功。

您可能会认为Java库只会给您一个http错误...但不要这么想。始终检查您是否已连接到互联网。