我只在cxf_client.xml中添加了拦截器,但同样的拦截器也在调用传入的apis(即cxf_server)。以下是我的更改。 有人可以告诉我为什么这个拦截器正在调用传入的API? 是因为服务器和客户端使用相同的总线吗?
cxf_client.xml
<bean id="XCustomInterceptor" class="com.test.XCustomInterceptor"/>
<cxf:bus>
<cxf:inInterceptors>
<ref bean="XCustomInterceptor"/>
</cxf:inInterceptors>
<cxf:outInterceptors>
<ref bean="XCustomInterceptor"/>
</cxf:outInterceptors>
</cxf:bus>*
答案 0 :(得分:1)
因为您正在使用
<cxf:inInterceptors>
<ref bean="XCustomInterceptor"/>
</cxf:inInterceptors>
检查文档http://cxf.apache.org/docs/bus-configuration.html
inInterceptors 拦截器有助于入站消息拦截器链。 s或s的列表
您可以在服务器和客户端使用特定拦截器进行入站连接和出站连接
例如,这里是jax-ws端点和带有in和out拦截器的客户端的配置
<!-- The SOAP endpoint -->
<jaxws:endpoint
id="helloWorld"
implementor="demo.spring.HelloWorldImpl"
address="http://localhost/HelloWorld">
<jaxws:inInterceptors>
<ref bean="customInInterceptor"/>
</jaxws:inInterceptors>
<jaxws:outInterceptors>
<ref bean="customOutInterceptor"/>
</jaxws:outInterceptors>
</jaxws:endpoint>
<!-- The SOAP client bean -->
<jaxws:client id="helloClient"
serviceClass="demo.spring.HelloWorld"
address="http://localhost/HelloWorld">
<jaxws:inInterceptors>
<ref bean="customClientInInterceptor"/>
</jaxws:inInterceptors>
<jaxws:outInterceptors>
<ref bean="customClientOutInterceptor"/>
</jaxws:outInterceptors>
</jaxws:client>