问题:我在 CxfConsumer 后面的事务处理路由中抛出了 @Webfault 带注释的检查异常,但在客户端上,详细信息标签不存在,并且 Camel 无法将异常映射回我的自定义类型。这已经在前面讨论过,没有骆驼部分。
我的解决方案:我发现这个老问题完全实现了我想要做的事情,那么为什么它不起作用?我开始深入研究 CxfConsumer 代码,发现我的自定义异常始终包含在 RuntimeCamelException 中,因此对 @Webfault 注释的检查失败。在修补 CxfConsumer 以检查 RuntimeCamelException 的包装原因后,一切都按预期工作。
现在我的问题是:我不想使用 CxfConsumer 的补丁版本,所以我需要确定我是否做错了什么,或者 CxfConsumer 是否没有处理我的用例。为什么我的自定义异常包含在 RuntimeCamelException 中,我可以以某种方式阻止它还是我在这里遗漏了什么?
谢谢!