1

我正在寻找一种将安全标头添加到我的肥皂请求的方法。

我找到了拦截​​器,它将解决我的问题:UsernameTokenInterceptor 有人可以建议我如何使用我的参数(密码、用户名)创建这个 bean 并将其正确插入到我的 jaxws 客户端

<jaxws:client id="***" name="***" endpointName="***" serviceName="***" address="***" serviceClass="***" xmlns:tns="***">
<jaxws:outInterceptors>
    <ref bean="myInterceptor" />
</jaxws:outInterceptors>

4

1 回答 1

3

UsernameTokenInterceptor 是一个策略感知拦截器,如果您的 WSDL 具有与 sp:UsernameToken 匹配的安全策略(没有其他安全绑定。如果是这样,则使用不同的拦截器。UsernameTokenInterceptor 只是插入 UsernameToken) . 因此,您只需将用户名 + 密码指定为 JAX-WS 属性即可。

如果您没有安全策略,那么您想改用 WSS4JOutInterceptor,在出站安全标头中手动插入 UsernameToken。

有关将触发 UsernameTokenInterceptor 的策略示例,请参阅此处称为“DoubleItPlaintextPolicy”的策略:

https://git-wip-us.apache.org/repos/asf?p=cxf.git;a=blob;f=systests/ws-security-examples/src/test/resources/org/apache/cxf/ systest/wssec/examples/ut/DoubleItUt.wsdl;h=c76294cb0f5900e363c0731e358449c93f925fe8;hb=HEAD

如果您想使用手动方法,CXF 文档中有一个示例:

http://cxf.apache.org/docs/ws-security.html

于 2016-06-01T14:25:48.890 回答