Java Spring Web服务SOAP身份验证
我正在使用JavaSpringWebService向服务器发送soap请求。但是我从服务器上得到一个错误
The security context token is expired or is not valid
然后,我在SOAP头中添加了身份验证,生成了如下请求xml:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<UsernameToken>
<Username>XXXXXXXX</Username>
<Password>XXXXXXXX</Password>
</UsernameToken>
</Security>
</env:Header>
<env:Body>
The body is in the correct format here
</env:Body>
</env:Envelope>
但我还是犯了这个错误。据我所知,客户端向服务器发送身份验证凭据,服务器发回requestToken,该令牌用于保持客户端和服务器之间的连接,然后使用从服务器收到的令牌的客户端可以进行任何其他API调用,如登录、购买、出售(或API中提到的任何内容)
我的假设对吗?如果是,如何使用Java Spring Web服务实现这一点。我是否需要在客户端生成像BinarySecret这样的字段,并将其打包到RequestSecurityContext下
为了添加SOAP头,我编写了一个类,该类实现WebServiceMessageCallback并重写doWithMessage方法,并在其中写入用户名和密码的头(即安全性)
任何帮助都将不胜感激!谢谢!
共 (0) 个答案