`
iqeq00
  • 浏览: 61691 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Ant生成xfire webservice 客户端

    博客分类:
  • J2EE
阅读更多

1. 配置 ant 环境

    能看到这里的相信这都不是问题,实在不明白的请查阅我 ant 相关文档。

    本例 ant 版本:Apache Ant(TM) version 1.9.3。

 

2. 下载 xfire 工具包

    http://xfire.codehaus.org/Download,一般来说下载最新版本就是。

    本例 xfire 版本:xfire-1.2.6。

 

3. 建立 eclipse 项目工程

    创建最普通的 Java Project 项目工程即可。

    a)  创建 test 测试源码包

    b)  创建 lib 三方依赖 jar 目录,并将所有依赖 jar 引入 classpath,

         大多数依赖的三方 jar 在 xfire 工具包里面都有。

         

 


 

    c)  创建 build.xml,内容如下:

         

<?xml version="1.0" encoding="UTF-8"?>
<project name="XFire-WsGen" basedir="." default="jar">
    <property name="src.dir" value="${basedir}/src" />
    <property name="lib.dir" value="${basedir}/lib" />
    <property name="output.dir" value="${basedir}/output" />
    <property name="wsdl.dir" value="http://127.0.0.1/MoneyCenter/services/User?wsdl"/>
    <property name="package.dir" value="moneycentry.client.usermoney" />
    <property name="jar.file" value="${output.dir}/moneycentry-usermoney.jar" />
    <path id="mypath">
        <fileset file="${lib.dir}/*.jar">
            <include name="*.jar" />
        </fileset>
    </path>
    <target name="clean">
        <delete includeEmptyDirs="true">
            <fileset dir="${src.dir}" includes="**/*" defaultexcludes="no"/>
        </delete>
        <delete dir="${output.dir}"/>
    </target>
    <target name="init" depends="clean">
        <mkdir dir="${output.dir}" />
    </target>
    <taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="mypath"></taskdef>
    <target name="wsgen" depends="init">
        <taskdef name='WsGenTask' classname="org.codehaus.xfire.gen.WsGenTask" classpathref="mypath" />
        <WsGenTask outputDirectory="${src.dir}" wsdl="${wsdl.dir}" package="${package.dir}" overwrite="true" />
    </target>
    <target name="compile" depends="wsgen">
        <copy todir="${output.dir}/classes/META-INF">
            <fileset dir="${src.dir}/META-INF"/>
        </copy>
        <javac srcdir="${src.dir}" destdir="${output.dir}/classes" debug="true" failonerror="true" classpathref="mypath" />
    </target>
    <target name="jar" depends="compile">
        <jar destfile="${jar.file}" basedir="${output.dir}/classes"></jar>
    </target>
</project>

 

 

         经过整理后的 build.xml 可以做到多项目通用,只需稍作修改

         i.  wsdl.dir

             不同的 webservice,肯定有不同的 wsdl 地址。

         ii. package.dir

             生成客户端默认 package 名称。

         iii. jar.file

             生成 jar 文件的 jar 包名称。

    d)  项目目录截图

 


 

4. 利用 ant 生成客户端代码

    右键 build.xml –> Run As –> Ant Build

    当看到控制台显示 ant 构建成功的消息,src 下面也生成相关文件,则说明成功。

    

 

5. 测试客户端

    在 test 源码包下面新建 com.xfire.lynch.MainTest 测试类,介于只是简单测试,就不

    搭建 Junit 测试环境,而采用 main 函数测试,看到控制台正常打印出数据,说明调用成功。

    

 

 

6. 代码讲解

UserClient uc = new UserClient();

 

    获取 User 客户端类。

 

UserPortType upt = uc.getUserHttpPort();

 

    获取 User 服务器端的所有接口方法。

String test = upt.findUserById("123456","dab871c3-cad4-4d2f-846f-235c00a1bcc5");

    远程调用 User 类里的 findUserById 方法。

 

7. 与 spring 集成

    大多数应用都是要和 spring 集成,本例只需将每次运行 ant 后,output 目录下生成的

    moneycentry-user.jar 和依赖的三方 jar 添加进你的 spring 环境中。在 spring 中定

    义一个 bean,需要的时候注入就可以使用了。

 

<bean id="userClient" class="moneycentry.client.user.UserClient"></bean>

 

8. 后记感受

    Maven:

           最近和公司其他系统进行衔接,本来我是个 maven 党,还是个没经历过 ant 时代

    的 maven 党。开始使用 eclipse 打包,对面系统的 wsdl 总是不断的变化,无奈之下

    只好用 ant 来生成 jar,大大提升了效率。通过学习 ant 对 maven 中的一些理念也有

    了新的理解,可见学习一个技术也可从同等技术对比中获益。

 

    Webservice:

           第一次使用 ws 技术,不过也不算太复杂。虽然很多大牛都说 ws 是过时的技术,

    不过学习来说还是值得的。不知各位看官看到此处理解如何,介于本人文档写作水平有

    限,还望多多谅解,也祝大家学习愉快。

 

  • 大小: 36.4 KB
  • 大小: 34 KB
  • 大小: 9.9 KB
  • 大小: 56.3 KB
  • 大小: 7.9 KB
  • 大小: 83.5 KB
0
0
分享到:
评论

相关推荐

    xfire webservice 完整实例下载

    XFire Webservice是一个基于Java的开源工具,它简化了创建、部署和消费Web服务的过程。在深入探讨这个完整实例之前,我们首先需要了解Web服务的基本概念。Web服务是一种通过网络进行通信的应用程序接口(API)。它们...

    Xfire WebService框架搭建指南

    运行Ant的`gen-webservice`目标,它将根据指定的WSDL生成客户端代码。然后,编译并运行这个客户端项目,即可调用服务器端的Web服务。 通过以上步骤,我们可以成功地利用Xfire框架搭建并运行一个完整的Web服务系统...

    XFire框架实现WebService(二)

    要消费由XFire发布的Web服务,我们可以使用XFire的客户端API或者生成的客户端Stubs。通过指定服务的WSDL(Web服务描述语言)URL,我们可以动态地创建一个代理类来调用远程服务。 8. **测试与调试**: 一旦服务...

    Xfire开发WebService

    总结来说,"Xfire+Ant开发Webservice客户端"这个主题涵盖了使用Ant自动化构建流程,以及Xfire作为工具来创建和使用Web服务客户端的关键技术。理解这些内容对于任何希望在Java环境中构建Web服务的开发者都是至关重要...

    一个非常简单的Xfire的webservice例子

    **Xfire Webservice 示例详解** Xfire是一款曾经流行的在线游戏通信软件,同时也提供了一套用于构建Web服务的框架。在本示例中,我们将探讨如何使用Xfire来创建和消费Web服务。 首先,Web服务是一种通过互联网进行...

    xfire 发布WebService

    在XFire中,通常会使用Maven或者Ant等构建工具来管理依赖和构建项目。源码部分可能涉及创建服务端的Java接口和服务实现,以及客户端的调用代码。 在压缩包子文件的文件名称列表中,有两个文件:...

    XFire构建web service客户端的五种方式

    除了上述两种方式,还可以使用 Ant 脚本来自动生成客户端代码。这通常涉及到运行 XFire 的 wsdl2java 或类似的工具,它将 WSDL 文件转换为 Java 类和接口。这样可以避免手动编写客户端代码,并确保与服务端接口的...

    WebService教程-xfire学习手册

    5. **服务客户端**:学习如何使用XFire生成并使用Web服务客户端,包括自动代码生成和手动编写客户端代码。这将涵盖如何调用服务、处理响应和异常。 6. **高级特性**:深入探讨XFire的高级特性,如WS-Security(Web...

    java调用.net的webservice传字符串参数

    3. **生成客户端代理**: 使用XFire的代码生成器(如XFire的wsimport工具)来解析.NET Web服务的WSDL,并生成相应的Java客户端代码。 4. **调用Web服务**: 生成的Java客户端代理类可以像使用普通Java对象一样调用Web...

    xfire webServeic 例子 项目中实用

    - 对于消费者,XFire提供动态代理生成,可以使用JAX-WS的`Service.create()`方法生成客户端代理类,直接调用服务方法。 - 还可以通过XML配置文件定义客户端行为,如指定URL、端口等信息。 6. **示例项目中的关键...

    Web Services发布与调用(axis,xfire)

    - **静态接口**: 如果你有服务的Java接口和实现类,可以直接生成客户端代理类,然后调用服务方法。 对于XFire,调用方式可能稍微不同,但原理相同:获取服务代理,然后调用服务方法。XFire提供了`...

    webservice培训.pptx

    它可以使用 Axis 提供的工具生成客户端 stub 或直接编写代码来构造SOAP消息,然后发送请求到服务端。 6. **服务端处理**:服务端接收到SOAP请求后, Axis 解析请求,调用相应的方法,执行业务逻辑,然后返回SOAP...

    Apache-cxf-学习笔记.docx

    Apache CXF是一个强大的开源Web服务框架,源自Celtix和XFire两个项目的合并,现在作为Apache软件基金会的顶级项目存在。它提供了全面的JAX-WS(Java API for XML Web Services)支持,允许开发者轻松地发布和使用Web...

    apache-cxf-2.7.4

    5. **工具集**:CXF提供了各种工具,如WSDL(Web Services Description Language)到Java代码的生成器、服务测试客户端、WS-*政策编辑器等,极大地简化了开发过程。 6. **模块化设计**:Apache CXF的设计是高度模块...

Global site tag (gtag.js) - Google Analytics