Java 如何将CXF异常从服务器传播到客户端

Java 如何将CXF异常从服务器传播到客户端,java,cxf,Java,Cxf,我有一个WSDL-First apachecxfweb服务,它按预期工作,只是我在服务器端抛出的异常在客户端上没有收到。 相反,在客户端,我得到一个SOAPFaultException类型的异常,其中只有detailMessage包含来自原始服务器端异常的消息,但我希望接收我在服务器端抛出的确切异常类型,包括原因链 我期望它在默认情况下能像这样工作,但在我的系统中肯定不行。我一直在查看CXF文档,以找到有关如何实现这一点的提示,但到目前为止,我还没有发现任何有用的信息。SOAP参考不支持stac

我有一个WSDL-First apachecxfweb服务,它按预期工作,只是我在服务器端抛出的异常在客户端上没有收到。 相反,在客户端,我得到一个SOAPFaultException类型的异常,其中只有detailMessage包含来自原始服务器端异常的消息,但我希望接收我在服务器端抛出的确切异常类型,包括原因链


我期望它在默认情况下能像这样工作,但在我的系统中肯定不行。我一直在查看CXF文档,以找到有关如何实现这一点的提示,但到目前为止,我还没有发现任何有用的信息。

SOAP参考不支持stacktrace。如果需要,则需要将stacktrace复制为SoapFault返回的消息

使用CXF,您可以在收入拦截器链上添加拦截器。请参阅以了解如何创建拦截器


您应该将其放在调用后阶段。

谢谢您的帮助。我想我有点期待它得到支持,因为CXF的wsdl2java工具会为它在wsdl文件中发现的每个Soap错误生成异常类。但是实例化和抛出这些会导致它们仍然在服务器端被捕获。我决定改变我的设计,简单地改变我的操作返回类型以包含异常信息,而不是将它们嵌入到SoapFault中。特别是因为我的异常完全与Soap无关。