CXF的PolicyBasedWSS4JInInterceptor创建了一个单例实例:
public static final PolicyBasedWSS4JInInterceptor INSTANCE
= new PolicyBasedWSS4JInInterceptor();
没有Spring技能我正在努力解决如何在cxf.xml文件中通过Spring的bean定义设置其acestor(AbstractWSS4JInterceptor)属性的问题。基本上我想在cxf.xml中配置与WSS相关的属性,如“signaturePropFile”。
有人可以展示如何设置PolicyBasedWSS4JInInterceptor.INSTANCE的属性映射吗?谢谢!
答案 0 :(得分:0)
我会声明一个单例bean:
<bean id="interceptor" class="whatever.your.package.PolicyBasedWSS4JInInterceptor" scope="singleton"/>
然后将其注入我需要的任何地方
<bean id="anotherBean" ...>
<property name="interceptor" ref="interceptor"/>
</bean>
这个其他bean将具有正常的PolicyBasedWSS4JInInterceptor属性,如下所示:
private PolicyBasedWSS4JInInterceptor interceptor;
public PolicyBasedWSS4JInInterceptor getInterceptor() {
return interceptor;
}
public void setPolicyBasedWSS4JInInterceptor(PolicyBasedWSS4JInInterceptor interceptor) {
this.interceptor = interceptor;
}
你会得到同样的声明静态,用Spring术语表示。这取决于你喜欢哪种方式,只要记住,在你的IoC容器中使用你的拦截器的Spring方式,这样你可以在必要时进行检测等。
答案 1 :(得分:0)
基于&#34;动作&#34;的WS-Security属性,例如&#34; signaturePropFile&#34;不适用于CXF中基于WS-SecurityPolicy的拦截器。 CXF具有单独的配置标记,您可以在使用WS-SecurityPolicy时将其作为JAX-WS属性传递,因此您不需要访问INSTANCE类的任何属性。有关更多信息,请参见此处:
http://cxf.apache.org/docs/ws-securitypolicy.html
科尔姆。