(一)Grails下使用xfire搭建webservice
Grails加上Xfire plugin 搭建web Service 环境,是非常简单的。 首先要给自己的Grails Application 应用工程装上Xfire 的插件.可以选择先下载zip包再安装也可以直由网络安装。
Type this command in your Grail application directory //在你的应用程序目录下执行 $> grails install-plugin xfire or if you have a plugin archive locally. //如果插件已经下载到了本地,就用这个方法 $> grails install-plugin /path/to/grails-xfire-0.7.3.zip |
安装完成,grails控制台会有相应的提示。在grails的app-grailsPlugins会有xfire相应的jar包。
然后到 %GRAILS_APPLICATION%/conf目录下面去修改一下UrlMappings.groovy文件,记得一定要改.
static mappings = { "/$controller/$action?/$id?"{ constraints { controller(matches:/.*[^(services)].*/) } } } //红色字体为新添加的部分 |
接下来就是直接写属于你自己需要的业务服务类了,这里我假设我的服务类名为Test,在CMD模式下输入:
create-service Test |
现在在grails-app的services下面有一个TestService.groovy,你可以拷贝下面的代码到你的TestService.groovy。
import javax.jws.WebMethod; @WebService(name="Test",serviceName="Test", static expose=['xfire'] String helloXfire(@WebParam String name) }
|
现在启动我们的项目,等待启动完成后,打开浏览器查看Test服务的wsdl吧,如过你能看到,就证明你已经成功一半了。
|
下面我们可以进行测试了。在myeclipse下建立一个javaproject工程(需要导入下面的jar包)。建一个接口,接口的名字可以随便建,但最好还是和我们的webservice的名字相同,但是接口中的方法必须和webservice中的一样,这包括方面名,参数,返回类型。
接口 : 名称 TestService:
package TestService; public interface SynAccountService123 { }
测试类:
package TestService; import org.codehaus.xfire.client.XFireProxyFactory; public class TestGrailsService { } |
这样一个grails的webservice环境就搭好了。