我們有一個wsdl,我們需要創建一個服務器實現。在之前的項目中,我們使用Apache CXF中的wsdl2java,但現在我們希望將它全部保留在Groovy中。有沒有一種方法可以創建服務器實現並將其全部保存在Groovy中?或者還有其他方法可以實現嗎?使用Groovy從WSDL開始創建SOAP webservice?
最終目標是我們可以將此實現掛鉤到將作爲客戶端服務器的Grails應用程序中。
我們有一個wsdl,我們需要創建一個服務器實現。在之前的項目中,我們使用Apache CXF中的wsdl2java,但現在我們希望將它全部保留在Groovy中。有沒有一種方法可以創建服務器實現並將其全部保存在Groovy中?或者還有其他方法可以實現嗎?使用Groovy從WSDL開始創建SOAP webservice?
最終目標是我們可以將此實現掛鉤到將作爲客戶端服務器的Grails應用程序中。
是的。您可以使用plugin或使用cxf directly。
如果您按照教程,你可以隨時使用WSDL2Java的,只是重命名生成的文件是.groovy
文件和更新的語法更加groovified。他們仍然會像平常一樣工作。另外,正如你可能會或可能不知道的,你不必像本教程中所說的那樣直接將jar複製到你的lib目錄中,你可以使用普通的Grails依賴管理。
我認爲更適合你的就是Groovy WS Lite。 Spring-ws也是一個選項,它是一個功能強大的庫,並且有相當好的文檔記錄,因爲grails在一天結束時就是春天,這可能與grails很好地結合在一起。無恥的插件:這是我創建的使用groovy和spring-ws的web service integration testing tool。你可以看到代碼來獲得「工作示例」。
Groovy WS Lite是否也能夠提供Web服務?我檢查了GitHub,但它只提到客戶端。我會很高興有1堆棧提供和消費Web服務。 Spring WS似乎還沒有準備好用於Grails 2。但是.. :(或者我錯過了什麼嗎?謝謝你的建議! – Marco 2012-03-04 08:27:37
我已經在java中使用spring-ws,而groovy項目只能用於Grails。 spring-ws似乎已經過時了http://grails.org/plugin/springws。所以,我猜它至少暫時可能不符合你的要求。如果你沿着這條路走下去,那麼下面的nabble條目可能有用http:// grails.1312388.n4.nabble.com/grails-springws-plugin-td1386976.html – Abe 2012-03-04 15:11:05
感謝您的回覆!我不確定首選的方式是什麼!有沒有可以做的建議?使用插件還是手動執行?在我的情況下,wsdl合同已經提供。所以我的猜測是,直接使用它將是首選的方式。對此有何想法? – Marco 2012-03-04 08:34:45
我試圖使用cxf direct方式,但是當我嘗試運行我的項目時,它給了我一個錯誤:ERROR context.GrailsContextLoader - 執行bootstraps時出錯:創建名爲org.apache.cxf.frontend.spring.ServerFactoryBeanDefinitionParser的bean時出錯$ SpringServerFactoryBean - 230470630':調用init方法失敗;嵌套異常是java.lang.IllegalArgumentException:在創建QName時本地部分不能爲「null」 – Marco 2012-03-04 14:05:42