2011-05-18 50 views
3

根據我的經驗,大多數分佈式對象技術(RMI,CORBA等)的工作是這樣的:基於接口的Java/Groovy的Web服務

  • 定義服務接口
  • 寫的一個實現接口
  • 使用生成代碼的工具(rmic,IDL編譯器等),使客戶端可以獲得對給定某個端點(URL)的接口實現的引用。

重要的一點是服務接口是客戶端和服務必須遵守的共享協定。我看了一下metro,它似乎沒有遵循這種模式。

我正在尋找支持這種基於接口的Web服務開發的替代建議。不幸的是,我需要使用SOAP,所以只支持RESTful服務的庫對我來說並不好。理想情況下,我希望遵循代碼優先而非契約優先的附加規則,即我定義(Java)服務接口,並從中生成WSDL,而不是其他方式。

支持使用Groovy(而不是Java)定義或實現服務的解決方案特別受歡迎。

回答

2

Metro允許您對給定的方法進行註釋,在servlet容器配置文件中對端點進行一兩個提示,然後根據請求自動生成WSDL。

這是非常好的,並且節省了創建完整的WSDL以暴露一個或兩個方法的麻煩。

2

地鐵很好(+1),但Apache CXFSimple Frontend更進一步:您不必註釋任何東西。它從普通的Java接口生成WSDL,客戶端和服務器。