有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何添加UsernameTokenInterceptor cxf interceptor

我正在寻找一种将安全头添加到soap请求的方法

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

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


共 (1) 个答案

  1. # 1 楼答案

    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