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

标签 java spring web-services jax-ws cxf

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

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>

关于java - Apache CXF FaultListener 未在 cxf 总线中注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23565610/

相关文章:

web-services - 如何在 Finch 中绑定(bind)请求正文

java - 如何注册通知网络服务?

java - 一种重置 Spring Integration 上下文中所有消息的方法

java - 由于 Java 问题,Eclipse Kepler 无法启动

java - 可能的根本原因包括 -Xss 设置过低和非法循环继承依赖项

java - 如何在没有 setter 的情况下绑定(bind)请求参数?

java - 构建 Jersey Web 服务可执行文件

java - 如何将枚举转换为字节数组?

java - 使用 Jackson Exception 构建 RESTFul Web 服务

java - 您可以在自动配置的 Spring Boot H2 测试数据库上设置兼容模式吗?