我正在使用spring-ws作为web服务,并且似乎无法弄清楚如何针对相同的初始请求返回不同的响应。让我们只是说我得到了某种类型的请求,我们将其称为FindGasRequest。现在我已经正确设置了端点映射,这样当一个FindGasRequest进入时,它映射到正确的端点,然后执行一些业务逻辑,然后返回一个FindGasResponse。spring-ws返回不同类型
这是我的问题。假设我得到一个FindGasRequest,然后在我的业务逻辑中,我确定不是返回一个FindGasResponse,而是想返回一个ListGasStationsResponse。如果我的@PayloadRoot标记的方法期望FindGasResponse,我该如何做到这一点?我猜如何将有效载荷更改为其他内容?
我有错误检查设置,使我可以抛出一个异常,它会通过和异常处理程序返回FindGasErrorResponse。所以我的第一个想法是做类似的事情,但在没有错误发生时抛出一个异常似乎很棘手。
在java中这似乎很简单,问题是,你有一些XSD其下应该反映结构。最好我可以想出(根据您的例子)是始终返回一个列表,因为列表可以包含1个或多个FindGasResponse元素。 – evandongen