1
请让我知道如何在弹簧集成中从服务激活器中抛出自定义SOAP错误。如果我有一个errorChannel的服务激活器,那么处理方法的返回值应该是什么?弹簧集成中的自定义SOAP故障
请让我知道如何在弹簧集成中从服务激活器中抛出自定义SOAP错误。如果我有一个errorChannel的服务激活器,那么处理方法的返回值应该是什么?弹簧集成中的自定义SOAP故障
Spring Integration WS模块完全基于Spring WS项目。解决您的需求的最佳方法是遵循标准方法:http://docs.spring.io/spring-ws/docs/current/reference/html/server.html#server-endpoint-exception-resolver。
我会跟着一些事情像@SoapFault一些业务异常,并不会担心错误通道!
嗨,我明白了你的观点。但是,我可以在飞行中自定义faultStringOrReason。例如,下面是我的soap故障类@SoapFault(faultCode = FaultCode.CUSTOM,customFaultCode =“{namespace}服务器错误”,faultStringOrReason =“处理请求消息时遇到错误”。) public class SystemFault extends BusinessException {}。我期待的是a)如果引发了新的SystemFault(),则故障串应该是“处理请求消息时遇到的错误”。 。如果我抛出新的SystemFault(“自定义消息”),faultstring应该是“自定义消息” –
好吧,为此,我想你应该实现你自己的'AbstractSoapFaultDefinitionExceptionResolver'并决定将什么放入'SoapFaultDefinitionEditor'中。有关详细信息,请参见SoapFaultMappingExceptionResolver。 –
嗨Artem ..明白它的工作。还有一个问题。在自定义错误代码的情况下,有没有办法不指定命名空间?如果我指定了命名空间,则错误代码为自定义错误代码<.faultcode>。但是,我应该如何防止xmlns与错误代码一起打印? –