2016-06-20 24 views
0

我正在創建一個Spring REST WS端點(只需要顯示一個外部url)。客戶希望我們在收到請求後立即確認(200 OK)並在後臺處理。客戶端可以在請求正文中爲不同的請求發送不同類型的xml負載。例如:在一個請求中,客戶端可以發送員工數據以添加xml有效內容,而在其他請求中,他們可以發送客戶數據以進行進一步處理。Spring Rest WS:如何處理單個端點中的多個XML負載?

在最簡單的解決方案,我們可以這樣做:

  1. 創建JAXB註釋的POJO(客戶,員工認爲延長 常見的抽象類;例如RequestPayload或東西) 對應於每個可能的XML有效載荷,
  2. 在控制器上以字符串形式檢索xml負載,確定元素名稱(「employee或」customer「...)和
  3. 使用我們的解組器(使用JAXB創建)來轉換xml字符串 添加到Employee/Customer POJO實例,並將此引用存儲在 RequestPayload變量中。

  4. 做進一步的服務器端處理..

只是不知道如果這是一個完美的解決方案..

春天在什麼提供任何功能/擴展WRT到了MessageConverter,將讓我們以清潔/優雅的方式做1-3步?

在此先感謝。

回答

1

您的問題看起來像EIPContent-Based Router。駱駝可以通過「優雅」的方式檢查郵件正文,幫助您將郵件路由到不同的端點,並且支持駱駝非常棒。

美麗是駱駝可以分開擔憂,如從您的業務邏輯路由,您可以稍後添加更多的消息格式,不影響業務邏輯。

+0

感謝雷蒙德的迴應,但我實際上是在尋找類似於Spring框架的東西。 – ktewari