如何使wss4j不在soap标头中创建expires元素

时间:2011-12-19 14:21:08

标签: cxf ws-security wss4j

wss4j或cxf中是否有任何选项可以控制来自ws-security的<expires>元素是否包含在SOAP标头中。

我想要实现的是SOAP标头仅包含<created>元素,例如

<wsu:Timestamp wsu:Id="Timestamp-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsu:Created>2011-12-07T14:39:03Z</wsu:Created>
</wsu:Timestamp>

我正在使用wss4j 1.5.10和cxf 2.3.x

请注意,时间戳的xsd schema

<xsd:element ref="wsu:Expires" minOccurs="0"/>

1 个答案:

答案 0 :(得分:1)

我需要同样的东西,无法在任何地方找到答案。 最后,我研究了源代码并扩展了WSS4JOutInterceptor并以这种方式重写方法decodeTimeToLive

@Override
public int decodeTimeToLive(RequestData reqData) {
     return 0;
}

也许不漂亮,但它对我有用。