在收到请求时添加我自己的 SOAP Headers

Adding My own SOAP Headers on receiving request

<soapenv:Header>
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>user|pass</wsse:Username>
        </wsse:UsernameToken>
    </wsse:Security>
</soapenv:Header>

以上是我的 SOAP 消息 header。

我正在创建如下所示的 cxf 代理路由

from(cxf:bean:proxyEndpoint)
    .bean(SOAPHeaderAppender.class)
    .to(cxf:bean:realEndpoint)

客户端应该能够在没有 SOAPHeaders 的情况下发送请求。在将请求发送到 realEndpoint 之前,我想在 SOAPHeaderAppender class 中创建并附加 SOAPHeaders。如果有人这样做,请帮助我。

使用 cxf 拦截器应该对您有所帮助,请参阅 http://cxf.apache.org/docs/interceptors.html

也许http://cxf.547215.n5.nabble.com/Adding-SOAPHeader-using-an-Interceptor-td567851.html对你来说是一个很好的例子。