Java中XFire使用详解

原创|其它|编辑:郝浩|2010-01-12 10:05:30.000|阅读 1430 次

概述:XFire 是 codeHaus 组织提供的一个开源框架,它构建了 POJO 和 SOA 之间的桥梁,主要特性就是支持将 POJO 通过非常简单的方式发布成 Web 服务,这种处理方式不仅充分发挥了 POJO 的作用

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  XFire 概述

  XFire 是 codeHaus 组织提供的一个开源框架,它构建了 POJO 和 SOA 之间的桥梁,主要特性就是支持将 POJO 通过非常简单的方式发布成 Web 服务,这种处理方式不仅充分发挥了 POJO 的作用,简化了 Java 应用转化为 Web 服务的步骤和过程,也直接降低了 SOA 的实现难度,为企业转向 SOA 架构提供了一种简单可行的方式。

  XFire 目前最新的版本是 1.2.2,目前支持的特性主要包括:

  支持将 Web 服务绑定到 POJO、XMLBeans、JAXB1.1、JAXB2.0 和 Castor;

  支持基于 HTTP、JMS、XMPP 等多种协议访问 Web 服务;

  支持多种 Web 服务业界重要标准如 SOAP、WSDL、Web 服务寻址(WS-Addressing)、Web 服务安全(WS-Security)等;

  支持 JSR181,可以通过 JDK5 配置 Web 服务;

  高性能的 SOAP 实现;

  服务器端、客户端代码辅助生成;

  对 Spring、Pico、Plexus 等项目的支持等。

  XFire 安装包

  XFire 框架目前的最新版本是 1.2.6,可以访问 xfire.codehaus.org 下载 XFire 框架的安装包,下载时请选择“全部二进制发布包(Binary Distribution in zip package)”,而不仅仅是“XFire jar 文件(Jar of all XFire modules)”。

  下载完成后,我们可以将下载的 .zip 文件解压缩到任意的文件夹中(后面的章节中使用 % XFIRE_HOME % 表示 XFire 框架的安装目录),解压缩后形成的文件目录结构如下:

  api(目录)

  api 目录中是 XFire 框架中所有类(class)对应的 API 文档,为开发者使用 XFire 完成应用开发提供帮助。

  examples(目录)

  examples 目录中包含了所有随 XFire 二进制包发布的实例,包括这些实例的源代码和相关 Web 应用配置内容。

  lib(目录)

  lib 目录中包含 XFire 运行所需要的外部支持类包(.jar文件),可以根据不同项目所需的 XFire 特性选择所需要的支持类包。保守的方法是在 Web 项目中包含所有的外部支持类包(.jar文件)。

  manual(目录)

  manual 目录中包含有 XFire 框架的帮助文档,开发者可以从这些帮助文档中学习更多运用 XFire 框架实现 SOA 的知识和技巧。

  modules(目录)

  modules 目录中包含了 XFire 框架根据不同特性分别编译的二进制包文件。发布基于 XFire 框架的 Web 项目时,可以选择使用该目录下的所有 .jar 文件,也可以选择 XFire-all-1.2.6.jar 文件。

  XFire-all-1.2.6.jar

  XFire 框架的二进制包文件,包含了全部的模块(modules)。

  LICENSE.txt

  LICENSE.txt 文件中包含了 XFire 框架的授权协议。

  NOTICE.txt

  README.txt

  这两个文件中包含了 XFire 发布时的一些有用的信息。

  如果不是用MyEclipse开发,先下载XFire的jar到lib目录。

  开发

  新建webservice工程myeclipse-new -project-web service project

  新建包:test.

  新建接口和服务类。XFire是以接口反射机制开自动取得远程方法的。

  接口:


 public interface IAccount {
  public int account(int x,int y);
  }

  实现类:


 public class AccountImp implements IAccount {
  public int account(int x, int y) {
  // TODO Auto-generated method stub
  return x*y;
  }
  }

  在webservices包下再新建 web service

  service name :mywebservice

  service interface: test.IAccount//手动选择导入test包下的IAccount接口

  service class: test.AccountImp//业务实现类

  //协议为soap协议,MyEclipse下配置保持不变。

  自动生成的services.xml配置如下

 

 


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
 <service>
  <name>MyService</name>
  <serviceClass>test.IAccount</serviceClass>
  <implementationClass>test.AccountImp</implementationClass>
  <style>wrapped</style>
  <use>literal</use>
  <scope>application</scope>
 </service></beans>


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:网络转载

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP