`

XFire开发Web Service 实例

    博客分类:
  • JAVA
阅读更多
开发步骤:
1.按照XFIRE的快速开发指南编写服务端程序

2.部署
注意:将META-INF\xfire\services.xml目录加文件放到WEB-INF\classes下以便找到

3.使用ANT生成客户端程序

4.拷贝客户端程序到调用程序中,拷贝JAR包,测试(jdom的版本要为1.0,否则会报错)。


目前已经有很多好的例子了,请参见:http://www.blogjava.net/mmwy/archive/2006/03/02/33142.html
以上文章在服务器端讲得很详细,几乎可以直接照着做了,客户端除了该文提供的方法Dynamic Client,还可以用ANT直接生成,做法参照:http://xfire.codehaus.org/Client+and+Server+Stub +Generation+from+WSDL

新建一个WsGen的目录,其下放client和lib,build.xml和WsGen放同一目录。
build.xml:
xml 代码
 
  1. <? xml   version = "1.0"   encoding = "UTF-8" ?>   
  2. < project   name = "XFire-WsGen"   basedir = "./WsGen"   default = "wsgen" >   
  3.     < path   id = "maven.compile.classpath" >   
  4.         < fileset   file = "${basedir}/lib/*.jar" />   
  5.     </ path >   
  6.     < target   name = "clean"   description = "Prepare for clean build" >   
  7.         < delete   dir = "${basedir}/client" />   
  8.         < mkdir   dir = "${basedir}/client" />   
  9.     </ target >   
  10.     < target   name = "wsgen"   depends = "clean" >   
  11.         < taskdef   name = "WsGenTask"   classname = "org.codehaus.xfire.gen.WsGenTask"   classpathref = "maven.compile.classpath" />   
  12.           
  13.         < WsGenTask   outputDirectory = "${basedir}/client"   wsdl = "http://localhost:8080/xfire-rules/services/RulesService?wsdl"   package = "com.passtech.webservice.client"   overwrite = "true" />   
  14.           
  15.           
  16.     </ target >   
  17. </ project >   

以上的wsdl="http://localhost:8080/xfire-rules/services/RulesService?wsdl" package="com.passtech.webservice.client"需要改写成你自己的WSDL地址以及客户端代码的包名。


执行命令:
F:\xfire-dev\xfire-client-generate>ant wsgen
Buildfile: build.xml

clean:
   [delete] Deleting directory F:\xfire-dev\xfire-client-generate\WsGen\client
    [mkdir] Created dir: F:\xfire-dev\xfire-client-generate\WsGen\client

wsgen:
[WsGenTask] 2007-6-27 9:57:49 org.codehaus.xfire.gen.Wsdl11Generator generate
[WsGenTask] 信息: Generating code for WSDL at http://localhost:8080/xfire-rules/
services/RulesService?wsdl with a base URI of http://localhost:8080/xfire-rules/
services/RulesService?wsdl
[WsGenTask] 2007-6-27 9:57:51 org.codehaus.xfire.gen.jsr181.AbstractServiceGener
ator generate
[WsGenTask] 信息: Creating class com.passtech.webservice.client.RulesServicePort
Type
[WsGenTask] 2007-6-27 9:57:51 org.codehaus.xfire.gen.jsr181.AbstractServiceGener
ator generate
[WsGenTask] 信息: Creating class com.passtech.webservice.client.RulesServiceImpl

[WsGenTask] com\passtech\rules\ArrayOfRules.java
[WsGenTask] com\passtech\rules\ObjectFactory.java
[WsGenTask] com\passtech\rules\Rules.java
[WsGenTask] com\passtech\rules\ShipParticulars.java
[WsGenTask] com\passtech\rules\package-info.java
[WsGenTask] com\passtech\webservice\client\RulesServiceClient.java
[WsGenTask] com\passtech\webservice\client\RulesServiceImpl.java
[WsGenTask] com\passtech\webservice\client\RulesServicePortType.java
[WsGenTask] locahost\_8080\rulesservice\FindRule.java
[WsGenTask] locahost\_8080\rulesservice\FindRuleResponse.java
[WsGenTask] locahost\_8080\rulesservice\ObjectFactory.java
[WsGenTask] locahost\_8080\rulesservice\package-info.java

BUILD SUCCESSFUL
Total time: 7 seconds


出现以上信息客户端生成成功,就可以到client目录下去拷贝指定的包了。

ObjectFactory objectFactory=new ObjectFactory(); 用objectFactory来构造请求对象(如果需要)
XXXXServiceClient client=new XXXXServiceClient();用client直接调用服务端的Service接口中的方法即可。


总结:
          好处:纯POJO的方式,可以很方便的生成WSDL以及客户端。开发比较快,效率高,性能也比较好(使用了STAX方式解析XML)。
          缺点:对于自定义的WSDL,需要符合标准的Schema的时候,功能比较欠缺。我在使用到枚举时,客户端并没有正确的生成。希望能在以后的版本中见到改进。

分享到:
评论
2 楼 javaOpen 2007-12-13  
还可以
1 楼 ft1974083 2007-08-23  

相关推荐

    Xfire Web Service简单实例参考

    这是我自己经过琢磨在工作中使用了一段时间Web Service后,自己学习Xfire的Web Service后编写的,随后发现Web Service其实就是这样简单。包中油服务器端代码,也有客户端代码,也有一个使用说明。要是你也想学习接触...

    XFire 实现web service入门实例源码

    XFire作为Web服务框架,简化了开发过程。它支持SOAP、RESTful风格的服务,以及多种数据绑定技术,如JAXB(Java Architecture for XML Binding)和Aegis。XFire利用动态代理和Java注解来减少代码量,使得开发者可以...

    xfire实现web service入门实例

    1. **安装和配置Xfire**:首先,你需要下载Xfire的最新版本并将其添加到你的开发环境中,如Eclipse或IntelliJ IDEA。通常,这涉及添加Xfire的JAR文件到项目的类路径中,或者在IDE的构建路径设置中进行配置。 2. **...

    XFire Java Web Service 客户端

    《XFire Java Web Service 客户端详解》 在当今的软件开发中,Web服务已经成为分布式系统间交互的重要手段。XFire,作为一个历史悠久的Java Web Service框架,为开发者提供了便捷的方式来创建、部署和消费Web服务。...

    XFIRE_WEBSERVICES实例

    XFire作为Web服务框架,简化了SOAP服务的开发过程。开发者可以通过注解或者XML配置来定义服务接口和服务实现。例如,你可以创建一个简单的服务接口: ```java public interface HelloWorldService { String ...

    MyEclipse+XFire开发Web Services

    ### MyEclipse+XFire开发Web Services #### 实验背景与目标 随着互联网技术的发展,Web Services作为一种重要的软件架构模式,在分布式系统中的应用越来越广泛。它允许不同平台、语言的应用程序通过标准协议(如...

    手把手xfire开发WS入门实例

    总结来说,"手把手xfire开发WS入门实例"涉及到的知识点涵盖了Web Service的基本概念、核心协议(SOAP和WSDL)、选择Web Service通信方式的比较、开发工具和框架(XFire和Axis),以及相关技术与SOA架构。通过学习...

    使用XFire+Spring构建Web Service

    【使用XFire+Spring构建Web Service】是一种高效且灵活的方法,尤其适合于那些希望利用Spring框架的优秀特性来开发Web Service应用的开发者。XFire是一个先进的Web Service框架,与Axis2并列为新一代的选择,因其...

    xFire发布Web Service,并调用远程服务

    xFire是早期的一个开源项目,用于简化Java开发人员创建和消费Web服务的过程。在本主题中,我们将深入探讨如何使用xFire来发布Web服务以及如何调用远程服务。 首先,让我们了解xFire的核心功能。xFire是一个基于Java...

    MyEclipse8.0GA下使用Xfire框架开发WebService实例

    ### MyEclipse 8.0 GA 下使用 Xfire 框架开发 WebService 实例 #### 一、WebService 服务端开发步骤 ##### 1. 建立 WebService Project - 在 MyEclipse 中创建一个新的 Web Service 项目,命名为 ProjectName。 -...

    WebService&SOA&ESB入门介绍(手把手xfire开发WS入门实例)

    【WebService概念】 Web Service是一种基于开放标准的互操作机制,允许不同应用和平台之间进行数据交换和服务调用。...通过实例学习,如使用XFire或Axis开发Web Service,能够更好地理解这些概念在实际中的应用。

    使用Xfire创建Web service和客户端使用的视频

    在这个主题中,我们将深入探讨如何使用Xfire创建Web服务以及客户端的实现,同时结合MyEclipse 6.5集成开发环境(IDE)和Tomcat 6.0应用服务器。 1. **Xfire简介** Xfire是Apache CXF项目的一部分,它提供了一个...

    MyEclipse下XFire开发Webservice实例

    本文主要介绍了如何在MyEclipse环境中使用XFire框架开发Web Service。XFire是一个基于Java的SOAP框架,提供了轻量级的信息处理模块,利用STAX与SOAP消息交互,支持多种传输协议如HTTP、JMS、XMPP、In-memory,并且与...

    xfire开发WebService实例

    本篇将深入探讨如何使用XFire开发Web服务实例。 一、XFire简介 XFire是Apache CXF项目的前身,是一个快速、灵活且轻量级的Web服务框架。它允许开发者通过简单的API创建SOAP(Simple Object Access Protocol)服务,...

    java xfire Webservices实例

    Java XFire Web服务实例 Java XFire 是一个开源框架,它允许开发人员快速、轻松地创建和消费Web服务。在Java世界中,Web服务通常用于实现不同系统间的互操作性,使得应用程序能够通过网络共享数据和服务。XFire是...

    Xfire配置Web Service+Spring+Hibernate详细流程及补充+测试实例.rar

    applicationContext.xml 一直是放置在WEB-INF目录下的就可以了,原文档后期补充的那点对这个文件的描述好像有些乱 另外,IHello等类的包随便默认哪个都行,文中该类的位置前面是factory后面就改到service中去了

    Spring Web Service实例

    好像没有多少人讨论, 大多数的话题都是围绕xfire, cxf, axis/axis2等主流的Web Service框架.尽管是从事这方面的工作, 不过实际开发中还是公司内部开发的一个Web Service模块, 发现与Spring提供的这个模块的构架很像...

    XFire建立Webservice实例,入门级别,适合初学者

    本文将详细介绍如何利用XFire在MyEclipse环境中创建一个简单的Web Service实例。 首先,我们需要创建一个新的Web Service项目。在MyEclipse中,通过`File` -&gt; `New` -&gt; `Project`,选择`Web Service Project`,然后...

Global site tag (gtag.js) - Google Analytics