我们的应用集成流程定义为 splitter -> ws gateway -> aggregator splitter将请求拆分成一个账号列表;以便为每个帐号启动一个 Web 服务调用,并将来自多个 Web 服务调用的响应聚合在聚合器中。拆分器和 ws 网关之间的通道由调度程序“commonj WorkManagerTaskExecutor”定义,以便每个 Web 服务调用在不同的线程。
如果至少有一些 Web 服务调用正确响应;即使所有其他调用导致 SoapFault;我们需要通过使用来自成功响应的数据以及引用来自故障响应的错误消息的警告消息来处理该场景。
问题是 ws 网关中定义的 FaultMessageResolver 的 resolveFault() 方法不返回任何内容,并且如果至少有一个并行 Web 服务调用失败,则控件永远不会到达聚合器。有什么办法可以处理这种情况。