2012-03-03 67 views
-1

我们有一个wsdl,我们需要创建一个服务器实现。在之前的项目中,我们使用Apache CXF中的wsdl2java,但现在我们希望将它全部保留在Groovy中。有没有一种方法可以创建服务器实现并将其全部保存在Groovy中?或者还有其他方法可以实现吗?使用Groovy从WSDL开始创建SOAP webservice?

最终目标是我们可以将此实现挂钩到将作为客户端服务器的Grails应用程序中。

回答

1

是的。您可以使用plugin或使用cxf directly

如果您按照教程,你可以随时使用WSDL2Java的,只是重命名生成的文件是.groovy文件和更新的语法更加groovified。他们仍然会像平常一样工作。另外,正如你可能会或可能不知道的,你不必像本教程中所说的那样直接将jar复制到你的lib目录中,你可以使用普通的Grails依赖管理。

+0

感谢您的回复!我不确定首选的方式是什么!有没有可以做的建议?使用插件还是手动执行?在我的情况下,wsdl合同已经提供。所以我的猜测是,直接使用它将是首选的方式。对此有何想法? – Marco 2012-03-04 08:34:45

+0

我试图使用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

1

我认为更适合你的就是Groovy WS LiteSpring-ws也是一个选项,它是一个功能强大的库,并且有相当好的文档记录,因为grails在一天结束时就是春天,这可能与grails很好地结合在一起。无耻的插件:这是我创建的使用groovy和spring-ws的web service integration testing tool。你可以看到代码来获得“工作示例”。

+0

Groovy WS Lite是否也能够提供Web服务?我检查了GitHub,但它只提到客户端。我会很高兴有1堆栈提供和消费Web服务。 Spring WS似乎还没有准备好用于Grails 2。但是.. :(或者我错过了什么吗?谢谢你的建议! – Marco 2012-03-04 08:27:37

+0

我已经在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