我似乎找不到适当的解决方案。我想根据发生的事情处理并向用户显示不同的消息。我正在使用Spring WS并调用marshalSendAndReceive。目前,在返回服务方法上,我只是catch (WebServiceIOException e),问题是连接被拒绝(错误的凭据)以及查询所花的时间超过了客户端指定的时间(超时),都会引发此异常?是否有任何适当的方式来处理这两个问题,而又没有提供一个普遍的信息,即“出现问题”。

最佳答案

WebServiceTemplatedoSendAndReceive方法中进行了艰苦的工作,其中有try...catch块和全面的错误处理。其中之一是triggerAfterCompletion(int interceptorIndex, MessageContext messageContext, Exception ex),它委派给注入的ClientInterceptor

因此,您只需要适当地实现afterCompletion(MessageContext messageContext, Exception ex)即可引发适当的业务异常。

09-28 02:26