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



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

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

SOAP引用不支持堆栈跟踪。如果您想要这样做,您将需要复制堆栈跟踪作为SoapFault返回的消息。

使用CXF,你可以通过在收入拦截链上添加一个拦截器来做到这一点。请参考这个问题来了解如何创建拦截器。

你应该把它放在POST_INVOKE阶段

最新更新