2012-03-19 67 views
0

這更像是一個設計模式問題。Webservices:請求 - 響應映射器

我的客戶端應用程序[已實現並將作爲計劃批處理作業的一部分以及消息處理應用程序運行]使SOAP通過對第三方引擎的HTTP調用獲取一些成員資格數據。由於底層綁定是根據JAX-RPC完成的,我的SOAP響應最終被轉換/複製到生成的客戶端存根中。

現在,我的問題是維護我自己的域對象並從服務的響應對象複製數據更好還是可以直接使用存根對象進行其他處理!

有什麼建議嗎?

回答

1

這個問題會有點主觀。我更喜歡總是翻譯自己的域對象,以防萬一需要更換Web服務實現。如果他們轉換到REST風格的Web服務,或者只是簡單地在版本升級時更改他們的wsdl,那麼如果您在整個應用程序中使用存根類,則可能會很不幸。

有缺點,這種做法雖然:

  1. 您將需要保持一組類似的類
  2. 如果服務永遠不會改變,你不會看到你的努力,任何回報
  3. 你可以如果它證明有用,請稍後更改它
+1

反對使用存根類的參數是,您可能必須更改Web服務框架(或重要版本)並從WSDL開始,這些可能會生成diff不同的存根。 建議將一組DTOs作爲smp7d提供,這是一個很好的隔離層,但我希望你的對象不是太複雜:從stubs寫入DTOs是一件非常痛苦的事情。 – 2012-03-19 14:24:20