我需要在soap消息中签署WS-Addressing元素。是否可以使用apache axis2 ws-addresing和rampart?
我找到了这个例子 - sample2 http://axis.apache.org/axis2/java/rampart/samples.html。但是ws-addressing元素没有签名。
修改!!!
这是我的Policy文件中的定义。它不起作用!
<wsp:Policy wsu:Id="DefaultEndpoint_Echo_output_policy">
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<sp:Body/>
<sp:Header Name="To" Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
<sp:Header Name="From" Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
<sp:Header Name="FaultTo" Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
<sp:Header Name="ReplyTo" Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
<sp:Header Name="MessageID" Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
<sp:Header Name="RelatesTo" Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
<sp:Header Name="Action" Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
</sp:SignedParts>
</wsp:All>
</wsp:ExactlyOne>
答案 0 :(得分:0)
我通过从SignedParts标记中删除所有子标记
解决了这个问题所以我的政策定义是这样的。
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy</sp:SignedParts>
</wsp:All>
</wsp:ExactlyOne>
我发现只要您没有定义任何用于签名的标签,并且您只包含空标签SignedParts,它就会自动签署所有标题和正文。