微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SOAP - <wsu:Created> 的格式

如何解决SOAP - <wsu:Created> 的格式

我需要使用 UserToken 配置文件身份验证访问 SOAP 网络服务。 通过使用 SOAP UI 手动生成请求,身份验证工作正常。 但是使用 Denodo 时,我收到一条身份验证错误消息。

经过调查,Denodo 生成的消息似乎与我的在 <wsu:Created> 标记上有所不同。

我目前使用的格式:

<year 4 digits>-<months 2 digits>-<days 2 digits>T<hours 2 digits>:<minutes 2 digits>:<seconds 2 digits>Z
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <wsse:Usernametoken wsu:Id="Usernametoken-a8a99e54-c7e8-4bfd-ba6f-352f2aa8a4f0">
                <wsse:Username>username</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">pGeWVKgrFAjKquhfsZq+QGZgcsQs=</wsse:Password>
                <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">SDW12f8d12VgGH6gl4qTEw==</wsse:Nonce>
                <wsu:Created>2021-01-18T18:05:02Z</wsu:Created>
        </wsse:Usernametoken>
</wsse:Security>

Denodo 使用格式的地方:

<year 4 digits>-<months 2 digits>-<days 2 digits>T<hours 2 digits>:<minutes 2 digits>:<seconds 2 digits>.<miliseconds 3 digits>Z
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <wsse:Usernametoken wsu:Id="Usernametoken-a8a99e54-c7e8-4bfd-ba6f-352f2aa8a4f0">
                <wsse:Username>username</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">pGeWVKgrFAjKquhfsZq+QGZgcsQs=</wsse:Password>
                <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">SDW12f8d12VgGH6gl4qTEw==</wsse:Nonce>
                <wsu:Created>2021-01-18T18:05:02.486Z</wsu:Created>
        </wsse:Usernametoken>
</wsse:Security>

我查看了 oasis 文档,但没有找到描述 SOAP 安全标头的 <wsu:Created> 标记的允许格式的文档。 有谁知道我在哪里可以找到此字段允许格式的说明?

提前致谢

解决方法

如果您遵循 wsu 命名空间的 XSD 架构,您将看到它指向 http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd

虽然无法获得价值的描述。但是,如果您查找规范文档,您会发现 https://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf

本文档描述了 wsu 命名空间并提到:

本规范根据 XML Schema 中定义的 xsd:dateTime 类型定义和说明时间引用。建议所有时间引用都使用此类型。

所以它是标准的 dateTime 类型 from the XML Schema。顺便说一下,小数秒是可选的,所以我不确定为什么会因此而出错。你确定这不是红鲱鱼?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?