有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案