我正在使用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