在接收请求时添加我自己的SOAP标头

时间:2015-09-08 09:37:32

标签: soap apache-camel cxf

<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邮件标题。

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

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

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

1 个答案:

答案 0 :(得分:1)

使用cxf拦截器可以帮助您,请参阅http://cxf.apache.org/docs/interceptors.html

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