`
leon1509
  • 浏览: 536165 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Grails+Xfire 搭建Web Service环境

阅读更多

Grails 加上Xfire plugin 搭建web Service 环境.总体上来说还是比较方便的.没有直接使用j2ee+xfire那么多的繁琐xml配置.Grails再一次体现了敏捷开发的便捷性.

    首先要给自己的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

 

 

 

OK只要正确执行完上面的方法,那么在你的Grails Applications目录下面就会多出一个Plugins 目录.

如图:

 

 

然后到 %GRAILS_APPLICATION%/conf目录下面去修改一下UrlMappings.groovy文件,记得一定要改.

static mappings = {

          "/$controller/$action?/$id?"{

              constraints {

                        controller(matches:/.*[^(services)].*/)

                  }

          }

}

//红色字体为新添加的部分

 

    接下来就是直接写属于你自己需要的业务服务类了,这里我假设我的服务类名为Test,CMD模式下输入:

%GRAILS_HOME%$> grails create-service Test

 

    那么在%GRAILS_APPLICATION%/grails-app\services 目录下就会生成一个TestService.groovy 文件,这就是我们要的服务文件. 我们要做的就是修改这个文件变成我们的业务逻辑服务即可.加上Groovy语法特有的闭类性质.Spring的注入(POGO)特性,这个服务类将会显得很强大嘿嘿

这里我先做个测试: 文件内容如下

import javax.jws.WebMethod;

import javax.jws.WebParam;

import javax.jws.WebResult;

import javax.jws.WebService;

 

@WebService(name="Test",serviceName="Test",

  targetNamespace="http://www.oksonic.cn/xfire")

class TestService {

 

static expose=['xfire']

 

String otherMethod2(@WebParam String name)

{

    return "Hello! ${name}";

}

 

 

@WebMethod

@WebResult

int add(@WebParam int intOne,@WebParam int intTwo)

{

    return intOne+intTwo;

}

 

 

}

 

这里定义了2个方法otherMethod2 根据用户传入的姓名对用户说hello,以及一个

简单的加法 add

 

好了!当你写完这个方法的时候,那么这个服务也就写完了.接着就是直接启动服务来验证了.CMD中输入

%GRAILS_HOME%$> grails run-app

等待 1 分钟没办法,这是我目前觉得Grails  Ruby 相比唯一不足的地方,就是启动太慢,但是想想,Grails在启动的时候把文件直接编译成java class ,Ruby却没有.

或许编译时的等待正式为了换取运行时的效率吧.

 

 

OK!打开浏览器查看Test服务的wsdl,如过你能看到,就证明你已经成功一半了.IE看吧,我试过用K-Meleon查看居然什么都看不到~.

http://localhost:8080/%Grails_Application%/services/Test?wsdl

如图:

 

 

 

 

,这样环境就搭建好了,是不是很简单?如果你还觉得繁琐,你可以去查查一半xfire+java web程序的搭建方案.保管光xml配置你就看的不爽了.

 

 

环境达好了,那服务怎么访问呢? MS 为他们的程序员准备的VS可以很方便的根据wsdl自动生成访问类.java fans欧斯搞列(怎么办呢).

我想到了Apache,翻倒一番终于看到了Axis这个webService 服务器,这是一个服务器我晕,居然还可以在运行的时候动态替换服务类文件.呵呵~可惜的是这只是一个单独的服务器,而不同与Grails是一个框架解决方案. Axis 可以根据 wsdl 自动生成调用webServicejava类文件.

我们可以先到Axis/lib目录下面,CMD执行

java -classpath ".;commons-logging-1.0.4.jar;axis.jar;commons-discovery-0.2.jar;jaxrpc.jar;wsdl4j-1.5.1.jar; " org.apache.axis.wsdl.WSDL2Java -o "abcdefg" http://localhost:8080/DerbyDemo/services/Test?wsdl

 

这些都是在一行里面 千万不要分行要不会报错的

-o 指定输出目录

后面跟上服务地址的 wsdl地址即可

 

这个在Axis/lib目录下就会多出abcdefg 目录 ,下面变是为这个Test服务生成的调用java类文件.我们只要把这个类文件直接复制到java IDE,

然后写一个简单的测试类:

  public static void main(String[] args) {

        try {

            Test_Service adcInterface = new Test_ServiceLocator();

            Test_PortType test = adcInterface.getTestHttpPort();

 

            //以下就要调用的方法

            System.out.println(test.otherMethod2("asd"));

            System.out.println(test.add(33,11));

 

        } catch (Exception e) {

            e.printStackTrace();

        }

 

OK就会看到结果了.当然把这些类直接放到Grails中的 %Grails_Application%\src\java目录下,那么在Groovy脚本中也就能这么调用了.

分享到:
评论

相关推荐

    grails+Xfire webservice

    grails+Xfire webservice

    Grails+ZK文档

    Grails+ZK文档,Grails+ZK文档,Grails+ZK文档,Grails+ZK文档

    Grails+groovy 完整参考手册.7z

    通过阅读《Grails+groovy 完整参考手册.docx》,你可以更深入地了解这两个技术,包括它们的原理、最佳实践以及实际应用中的案例。无论你是初学者还是有经验的开发者,这份手册都将是你学习和提升技能的宝贵资源。

    Grails+快速开发+Web+应用程序.pdf

    ### Grails快速开发Web应用程序知识点解析 #### 一、Grails框架概述 - **定义**:Grails是一个基于Groovy语言构建的开源Model-View-Controller (MVC) Web开发框架。它旨在简化Web应用程序的开发流程,提高开发效率...

    grails,xfire和groovyws共存

    标题“grails,xfire和groovyws共存”涉及到的是在Java开发环境中,如何将三个不同的技术框架——Grails、XFire和GroovyWS整合在一起以实现Web服务的功能。Grails是一个基于Groovy语言的全栈式Web应用框架,XFire是...

    Grails+Apache構築手順

    Grails+Apache構築手順 apache配置手順 tomcat配置手順

    Grails + Spring Security 权限控制

    Grails是一个基于Groovy语言的全栈式、敏捷的Web应用框架,它简化了Java开发流程,提供了丰富的插件生态系统。Spring Security,原名Acegi Security,是Spring框架的一个扩展,用于提供身份验证和授权服务,适用于...

    The+Definitive+Guide+to+Grails+Second+Edition

    - **部署和运维**:了解 Grails 应用在生产环境下的部署流程,包括配置管理、日志记录和监控策略。 ### 实战应用 本书不仅提供了理论知识,还包含了大量的实战案例,如构建 RESTful API、实现安全认证、集成第三方...

    Grails技术精解与Web开发实践.part2

    自己买的书,然后用扫描机扫描的,整个文件太大了,不能一次性上传上来,所以拆成3个part。 我自己学grails很想看这本书,结果网上没有,就自己去买了,然后共享给需要的人。 如果有什么问题请联系我下架。

    Grails技术精解与Web开发实践.part1

    自己买的书,然后用扫描机扫描的,整个文件太大了,不能一次性上传上来,所以拆成3个part。...我自己学grails很想看这本书,结果网上没有,就自己去买了,然后共享给需要的人。 如果有什么问题请联系我下架。

    转: Eclipse下Grails开发环境搭建步骤

    在本文中,我们将详细探讨如何在Eclipse集成开发环境中搭建Grails开发环境。Grails是一个基于Groovy语言的开源Web应用程序框架,它简化了Java平台上的Web应用开发流程。通过Eclipse,我们可以获得强大的开发工具支持...

    Grails技术精解与web开发实践11-20章

    《Grails技术精解与Web开发实践11-20章》是一本专注于Grails框架的深度解析书籍,尤其适合初学者和希望提升Grails开发技能的IT从业者。Grails是一种基于Groovy语言的开源Web应用框架,它以其高效、灵活和强大的特性...

    grails快速开发web

    - **轻松入门系列**:介绍了如何搭建 Grails 开发环境、通过与 Java 的比较快速掌握 Groovy 语法,以及 Grails 实战基础。 - **实战技巧**:包括 GORM (Groovy Object Relational Mapping) 的使用、如何在 Grails 中...

    Grails技术精解与web开发实践2-10章

    2. **安装与环境配置**:讲解如何在不同的操作系统上安装Grails SDK,配置开发环境,包括Java版本的选择,IDE集成,以及设置全局和项目的环境变量。 3. **第一个Grails应用**:通过创建一个简单的应用,读者将学习...

    使用Grails快速开发Web应用

    - **环境搭建**:首先,需下载Grails程序并设置环境变量`GRAILS_HOME`,同时将`%GRAIS_HOME%\bin`添加至系统PATH变量中。 - **创建应用**:使用`grails create-app Contact`命令可快速生成名为“Contact”的应用框架...

    grails_blog:Grails + MongoDB 博客

    【标题】"grails_blog:Grails + MongoDB 博客" 涉及的主要知识点是 Grails 框架与 MongoDB 数据库的结合使用,创建一个博客应用。Grails 是一个基于 Groovy 语言的全栈式开发框架,而 MongoDB 是一种流行的NoSQL...

    Eclipse下搭建Grails项目

    Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. **Grails环境安装** - ...

    todo:Grails + angularjs

    Grails是一个基于Groovy语言的开源Web应用框架,它简化了Java开发流程,提供了MVC架构,使得开发快速且高效。其特点是自动化的代码生成、强大的插件系统和灵活的数据持久层支持。在与AngularJS集成时,Grails可以...

Global site tag (gtag.js) - Google Analytics