将我的自定义拦截器放在默认的org.apache.cxf.ws.security.wss4j之后.WSS4JInInte



我想创建一个自定义拦截器来访问x.509证书,正如我在这里读到的:

http://forum.springsource.org/showthread.php?100159-ProviderNotFoundException-wiring-CXF-s-WSS4JInInterceptor-with-Spring-Security。

我必须在默认的org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor之后创建一个拦截器但是我找不到任何关于我应该在哪里配置它的线索。顺便说一下,我使用spring xml配置。

 <jaxws:inInterceptors >
            <!--<bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor" >-->
                <!--<constructor-arg>-->
                    <!--<map>-->
                        <!--<entry key="action" value="Signature"/>-->
                        <!--<entry key="signaturePropFile" value="server-crypto.properties"/>-->
                        <!--<entry key="signatureKeyIdentifier" value="serverkey"/>-->
                        <!--<entry key="passwordCallbackClass" value="com.kprtech.service.ws.impl.ServerCallback"/>-->
                    <!--</map>-->
                <!--</constructor-arg>-->
            <!--</bean>-->
            <bean class="com.kprtech.service.ws.service2.MyWSS4JInInterceptor"  >
            </bean>
        </jaxws:inInterceptors>

我读到在WSS4J默认拦截器之后添加拦截器将允许我访问之后执行的另一个拦截器中的证书,但我找不到任何方法来改变证书执行的顺序。

尝试在拦截器的构造函数中使用AbstractPhaseInterceptor的addAfter()方法。

在这里查看详细信息。

你可以张贴你的拦截器的代码吗?

最新更新