编程语言
首页 > 编程语言> > java-Apache CXF FaultListener未在cxf总线中注册

java-Apache CXF FaultListener未在cxf总线中注册

作者:互联网

我有一个使用Apache CXF的Spring应用程序.发生错误时,我需要做一些其他的事情.为此,我创建了FaultListener接口的自定义实现:

public class MyClass implements FaultListener {
    @Override
    public boolean faultOccurred(Exception exception, String description, Message message) {
        // do stuff

        return true;
    }
}

我在CXF总线上注册了侦听器,但是CXF无法找到我的侦听器.

<bean id="gzipInInterceptor" class="org.apache.cxf.transport.common.gzip.GZIPInInterceptor" />    
<bean id="listener" class="MyClass"/>
<cxf:bus>
    <cxf:properties>
        <entry key="org.apache.cxf.logging.FaultListener">
            <ref bean="listener"/>
        </entry>
    </cxf:properties>
    <cxf:inInterceptors>
        <ref bean="gzipInInterceptor" />            
    </cxf:inInterceptors>       
    <cxf:inFaultInterceptors>
        <ref bean="gzipInInterceptor" />
    </cxf:inFaultInterceptors>   
</cxf:bus>

谁能帮助我解决这个问题?

解决方法:

看看这个

< bean id =“ listener” class =“ MyClass” />

您需要提供完整的类路径,包括包名称,或者无需在此处声明bean而是使用

        <entry key="org.apache.cxf.logging.FaultListener">
            <bean class="your.package.name.MyClass" />
        </entry>

标签:jax-ws,cxf,web-services,spring,java
来源: https://codeday.me/bug/20191121/2054177.html