我面临 CXF 处理程序的问题(使用 CXF 版本 2.7.6)。在我的 xml 文件中,定义了多个 Web 服务客户端。我为服务 1 添加了一个简单的处理程序。
<jaxws:client id="service1"
serviceClass="com.Service1" address="${E1}"
username="${U1}" password="${P1}">
<jaxws:features>
<beans:bean class="org.apache.cxf.feature.LoggingFeature" />
</jaxws:features>
<jaxws:handlers>
<beans:bean class="com.SOAPMessageLoggingHandler" />
</jaxws:handlers>
</jaxws:client>
<jaxws:client id="service2"
serviceClass="com.Service2" address="${E2}"
username="${U2}" password="${P2}">
<jaxws:features>
<beans:bean class="org.apache.cxf.feature.LoggingFeature" />
</jaxws:features>
</jaxws:client>
现在上面的配置导致
org.apache.cxf.interceptor.Fault:客户端已经关闭。
当使用第二个服务 (service2) 并且 service1 工作正常时。但是以下配置对于这两种服务都可以正常工作。
<jaxws:client id="service2"
serviceClass="com.Service2" address="${E2}"
username="${U2}" password="${P2}">
<jaxws:features>
<beans:bean class="org.apache.cxf.feature.LoggingFeature" />
</jaxws:features>
</jaxws:client>
<jaxws:client id="service1"
serviceClass="com.Service1" address="${E1}"
username="${U1}" password="${P1}">
<jaxws:features>
<beans:bean class="org.apache.cxf.feature.LoggingFeature" />
</jaxws:features>
<jaxws:handlers>
<beans:bean class="com.SOAPMessageLoggingHandler" />
</jaxws:handlers>
</jaxws:client>
为什么订单会引起问题?添加到一个客户端的处理程序会影响另一个客户端吗?