基于接口的Java/GroovyWeb服务

基于接口的Java/GroovyWeb服务,java,web-services,soap,groovy,wsdl,Java,Web Services,Soap,Groovy,Wsdl,根据我的经验,大多数分布式对象技术(RMI、CORBA等)的工作原理如下: 定义服务接口 编写接口的实现 使用工具(rmic、IDL编译器等)生成代码,使客户机能够在给定某个端点(URL)的情况下获取对接口实现的引用 重要的一点是,服务接口是客户机和服务都必须遵守的共享契约。我看了一下,它似乎不符合这个模式 我正在寻找支持这种基于接口的web服务开发的替代建议。不幸的是,我被要求使用SOAP,所以只支持RESTful服务的库对我没有好处 理想情况下,我希望遵循代码优先,而不是契约优先,也就是

根据我的经验,大多数分布式对象技术(RMI、CORBA等)的工作原理如下:

  • 定义服务接口
  • 编写接口的实现
  • 使用工具(rmic、IDL编译器等)生成代码,使客户机能够在给定某个端点(URL)的情况下获取对接口实现的引用
重要的一点是,服务接口是客户机和服务都必须遵守的共享契约。我看了一下,它似乎不符合这个模式

我正在寻找支持这种基于接口的web服务开发的替代建议。不幸的是,我被要求使用SOAP,所以只支持RESTful服务的库对我没有好处

理想情况下,我希望遵循代码优先,而不是契约优先,也就是说,我定义(Java)服务接口,WSDL是从该接口生成的,而不是相反


支持使用Groovy(而不是Java)定义或实现服务的解决方案尤其受欢迎。

Metro允许您对给定的方法进行注释,在servlet容器配置文件中提供关于端点的一两条提示,然后根据请求自动生成WSDL

这非常好,并且为您省去了创建完整WSDL的麻烦,只需公开一两个方法。

Metro很好(+1),但它更进一步:您不必注释任何内容。它从普通Java接口生成WSDL、客户端和服务器