我正在使用spring-ws作爲web服務,並且似乎無法弄清楚如何針對相同的初始請求返回不同的響應。讓我們只是說我得到了某種類型的請求,我們將其稱爲FindGasRequest。現在我已經正確設置了端點映射,這樣當一個FindGasRequest進入時,它映射到正確的端點,然後執行一些業務邏輯,然後返回一個FindGasResponse。spring-ws返回不同類型
這是我的問題。假設我得到一個FindGasRequest,然後在我的業務邏輯中,我確定不是返回一個FindGasResponse,而是想返回一個ListGasStationsResponse。如果我的@PayloadRoot標記的方法期望FindGasResponse,我該如何做到這一點?我猜如何將有效載荷更改爲其他內容?
我有錯誤檢查設置,使我可以拋出一個異常,它會通過和異常處理程序返回FindGasErrorResponse。所以我的第一個想法是做類似的事情,但在沒有錯誤發生時拋出一個異常似乎很棘手。
在java中這似乎很簡單,問題是,你有一些XSD其下應該反映結構。最好我可以想出(根據您的例子)是始終返回一個列表,因爲列表可以包含1個或多個FindGasResponse元素。 – evandongen