将 POJO 发布成 Web 服务
XFire 框架中,我们有两种方式将 POJO 发布成 Web 服务:
一种方式是直接使用 Web 服务接口和 Web 服务实现类(POJO)来发布;
另一种方式是基于 JSR181 标准和注释技术将被注释的 POJO 发布成 Web 服务;
下面的章节中我们将学习使用第一种方式来完成 POJO 的 Web 服务发布。我们将使用经典的 ”Hello World!”例子来演示将 POJO 发布成 Web 服务所需要的步骤,不过我们不再是简单的访问一个 Java 方法来输出 ”Hello World!”字符串,而是转为在 SOA 环境下实现:Web 服务客户端通过访问服务器端发布成 Web 服务的 POJO 获得返回的 ”Hello World!”字符串后输出到客户端的控制台上。
将 POJO 发布成 Web 服务的基本步骤如下:
创建 Web 服务接口,声明该 Web 服务对外暴露的接口;
创建 Web 服务实现类,为 Web 服务接口提供实现;
修改 XFire 框架的服务发布文件 ---- services.xml,将 POJO 发布成 Web 服务。
下面我们通过创建 ”Hello World!”例子来具体说明如何实现这三个步骤。
1.创建 Web 服务接口 ---- HelloWorldService
要将 POJO 发布成 Web 服务,首先需要创建 Web 服务接口,在接口中声明该 Web 服务需要对外暴露的接口。
我们根据需要创建 Web 服务接口 ” HelloWorldService”,在其中声明一个 ”sayHello”方法,该方法返回 ”String ”类型的内容。” HelloWorldService”接口对应的 Java 文件代码如 清单 1-3。
清单 1-3 WEB-INF\classes\org\vivianj\xfire\pojo\HelloWorldService.java
1.package org.vivianj.xfire.pojo;
2.
3. /**
4. * HelloWorldService 中声明需要发布成 Web 服务的所有 Java 方法
5. * HelloWorldService 作为Web服务接口
6. */
7. public interface HelloWorldService {
8. /**
9. * sayHello 方法声明了 Web 服务对外暴露的接口
10. *
11. * @return 返回给客户端的字符串
12. */
13. public String sayHello();
14.}
2.创建 Web 服务实现类 ”HelloWorldServiceImpl”
创建 Web 服务实现类 ”HelloWorldServiceImpl”,它继承 ”1、创建Web服务接口 ---- HelloWorldService” 中创建的 HelloWorldService 接口,并且为它声明的 ”sayHello”方法提供具体实现: 返回字符串”Hello World!”。 ”HelloWorldServiceImpl”类对应的 Java 文件代码如 清单 1-4。
清单 1-4 WEB-INF\classes\org\vivianj\xfire\pojo\HelloWorldServiceImpl.java
1.package org.vivianj.xfire.pojo;
2.
3./**
4. * HelloWorldServiceImpl 中为 Web 服务接口中声明的所有 Java 方法提供具体实现
5. * HelloWorldServiceImpl 作为 Web 服务的实现类
6. */
7.public class HelloWorldServiceImpl implements HelloWorldService {
8.
9. /*
10. * sayHello 方法为 HelloWorldService 服务接口定义的 sayHello 方法提供具体实现
11. *
12. * @see org.vivianj.XFire.pojo.HelloWorldService#sayHelloToXFire()
13. */
14. public String sayHello() {
15. return "Hello World!";
16. }
17.
18.}
3.修改 services.xml,将 POJO 发布成 Web 服务
我们可以在 WEB-INF\classes\META-INF\XFire\services.xml 文件中的 <beans …> 和 </beans> 元素中间加入如下的 xml 内容将上面创建的 HelloWorldService 发布成 Web 服务。
1.<service>
2. <name>HelloWorldService</name>
3. <namespace>http://vivianj.org/HelloWorldService</namespace>
4. <serviceClass>
5. org.vivianj.xfire.pojo.HelloWorldService
6. </serviceClass>
7. <implementationClass>
8. org.vivianj.xfire.pojo.HelloWorldServiceImpl
9. </implementationClass>
10.</service>
其中各元素的功能如下:
service
service 标签和它所包含的 xml 内容为发布成 Web 服务的 POJO 提供完整的描述。
name
Web 服务被发布时所采用的唯一名称。
namespace
Web 服务发布时所使用的命名空间。
serviceClass
Web 服务接口类的全名,包括包名和类名。
implemetationClass
Web 服务实现类的全名,包括包名和类名。
更多 service 元素的子元素和它们的用法请参考 XFire 站点。
通过上面的三个步骤,我们已经将新创建的HelloWorldService发布成了Web服务,我们可以使用下面的步骤测试一下创建的Web服务是否能够正常运行:
编译上面的步骤中创建的 Java 接口和类;
启动 TOMCAT 服务器。
等 TOMCAT 服务器完全启动后,打开浏览器,在地址栏中输入 http://localhost:8080/XFire/services/HelloWorldService?wsdl。
其中 HelloWorldServcie 是配置文件中 service\name 元素所定义的内容,”wsdl”参数表示查看该 Web 服务的 WSDL(Web服务描述语言)文件。
如果浏览器中出现如下图所示类似的内容,表示 Web 服务发布成功,我们可以编写客户端访问该 Web 服务从服务器获取返回字符串,本文下载资源中提供的下载文件中包含有可供参考的客户端类 org.vivianj.xfire.pojo.client.HelloWorldServiceClient。
图:浏览器中访问效果
如果浏览器中出现错误提示,请按照上面的步骤和说明检查已经完成的开发、配置过程是否完全正确。
结束语
本文中作者首先讲解了 XFire 框架的主要特性,XFire 框架的运行环境以及基于 XFire 框架开发 SOA 应用的基本步骤,并且借助于 SOA 环境下的 ”Hello World!”例子,详细的讲解和演示了如何基于 XFire 框架、经过简单的开发、配置步骤就将一个 POJO 类中包含的方法发布成Web服务。从 ”Hello World!”例子实现的过程中,我们可以发现 XFire 框架最大化的发挥了 POJO 的作用,减少了 SOA 实施时对框架本身的依赖,降低了 SOA 实施的难度,企业实施 SOA 时并不需要增加太多的投入就可以实现目标。
分享到:
相关推荐
【标题】"webService-xfire入门doc" 涉及的是Web服务技术中的XFire框架,这是一款用于构建和消费Web服务的开源Java库。XFire是早期流行的Web服务实现,它允许开发者轻松地将Java对象转换为Web服务,反之亦然。 ...
XFire完整入门教程XFire完整入门教程XFire完整入门教程XFire完整入门教程
XFire 入门 web service.wpsXFire 入门 web service.wpsXFire 入门 web service.wps
总的来说,"webService+Xfire入门"的教程适合初学者,通过它你可以快速了解Web Service的基本概念,学会使用MyEclipse创建、部署和测试Web Service,并理解XFire在Web服务开发中的作用。实践这个小例子,你将对Web ...
**Xfire入门实例操作详解** Xfire是一款曾经非常流行的在线游戏社区软件,它允许玩家在游戏中与朋友聊天、查看他们的状态、记录游戏统计等。虽然现在可能不再是最主流的游戏社交工具,但对于想要了解游戏社区历史...
这篇博客文章“Web Service 之 XFire入门”将引导我们逐步了解如何使用XFire构建Web服务。 首先,XFire基于Java语言,利用了Java API for XML Processing (JAXP) 和Java Architecture for XML Binding (JAXB) 这些...
XFire--Webservice入门xfire
**二、XFire入门步骤** 1. **环境准备**:确保安装了Java Development Kit (JDK) 和 Maven,因为XFire的构建和运行依赖这两个工具。 2. **创建服务**:使用Java接口和实现定义服务契约。例如,可以创建一个名为`...
**XFire入门步骤** 1. **安装与配置**:首先,我们需要下载并安装XFire的库文件,将其添加到项目的类路径中。此外,可能还需要配置Maven或Gradle依赖以引入XFire的相关模块。 2. **创建服务接口**:定义一个短信...
Xfire(现更名为CXF)是Java平台上一个流行的开源框架,用于构建和部署Web服务。作为一个初学者,理解如何使用Xfire来实现Web服务是非常基础且重要的一步。下面将详细介绍Xfire实现Web服务的基础知识。 首先,我们...
我整理了一下使用XFire1.2.6进行Web Service开发的思路,尝试完成了一个入门实例(完整的MyEclipse项目)。如果你正在学习Web Service或者对这个有兴趣,你可以下载该附件,导入MyEclipse中运行以查看示例效果。希望...
这是一份关于开发xfire 很好的PPT教程
这使得开发者能够在不同的环境中快速部署和运行XFire,无需从零开始构建环境,大大降低了入门门槛。 最后,`xfire-src-1.2.6.zip`同样是源代码包,可能是包含了特定版本或分支的源码,为开发者提供了另一种获取源...
【XFire Web Service 入门】 XFire 是一个开源的、高性能的Java Web Service框架,它简化了创建和消费Web服务的过程。XFire在早期是Apache CXF的一部分,后来并入了CXF项目,提供了丰富的功能,包括SOAP、WS-*协议...
本教程将深入探讨如何使用XFire来实现一个基础的Web服务入门实例,并通过源码分析来增进理解。 首先,我们要明白Web服务的基本概念。Web服务基于开放标准,如SOAP(Simple Object Access Protocol)、WSDL(Web ...
【XFire建立Webservice实例详解】对于初学者来说,理解并构建一个Web Service是一个重要的学习步骤,而XFire作为一款曾经流行的开源框架,提供了一种简单的方法来创建和部署Web Service。本文将详细介绍如何利用...
总结来说,"手把手xfire开发WS入门实例"涉及到的知识点涵盖了Web Service的基本概念、核心协议(SOAP和WSDL)、选择Web Service通信方式的比较、开发工具和框架(XFire和Axis),以及相关技术与SOA架构。通过学习...