我正在使用Spring签署一条SOAP消息,这个doc正好。我的配置与文档中描述的配置没有区别。一切正常,我签署传出消息和头部看起来像Spring WSS“wsse:security”标记
<SOAP-ENV:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-1">
...
</ds:Signature>
</wsse:Security>
</SOAP-ENV:Header>
然而,问题是,服务器期待像
<SOAP-ENV:Header>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-1">
...
</ds:Signature>
</SOAP-ENV:Header>
因此,服务器不喜欢我请愿。我无法更改服务器上的任何内容,因此我需要找到解决方案。如果使用soapUI来生成请求,请求中没有wsse:Security
标记,那么服务器期望的内容与其WSDL保持一致。
我已经搜索了几个小时没有运气。无论如何删除wsse:Security
标签?我可以用Spring解决这个问题,还是我应该实现一些自定义代码?
我发现该标签与Spring无关,因为Spring将这个任务委托给'org.apache.ws.security'包。认为可能问题完全在服务器端。 – jddsantaella 2012-02-17 21:22:41