使用XML通过Java 类定义Web服务

日期: 2008-04-24 来源:TechTarget中国

  随着 Web 服务的日益普及,使用 Axis2 和 JiBX 将原来的 Java 项目转换成功能全面的 Web 服务也显得格外紧迫。以往,Web 服务都是根据一个服务和一个单一的类自动生成的,而现在开发人员可以通过已有项目中的各种 Java 类生成一个或多个服务。本文使用 XML 通过已有 Java 类定义了一个 Web 服务。


  简介


  Web 服务在日常开发中重要性与日俱增,Axis2 也成为了倍受人们欢迎的开发 Web 服务的开放源码平台。Axis2 使用 Java 语言编写,它能利用了 JiBX(一种框架,用于将XML和Java绑定在一起)的自由性。假设您有一个含有大量 Java 类和数据结构的 Java 项目,而且不想打乱或者更改它们。JiBX 会帮助您实现这一切,它把在 Axis2 中使用的 XML 数据与 Java 类绑定在一起。这样做的好处是代码易于维护,因为 Web 服务只使用已经开发好、可靠、真正的 Java 类。


  系统需求


  要学习这个分为两部分的系列文章,需要如下软件:


  Axis2,binary and WAR 版


  JiBX 1.1


  Geronimo 1.1.1


  下载完上述所有软件后,解压 Geronimo 并键入:java -jar /bin/server.jar。


  然后,为部署 axis2.war 文件,将 axis2 文件复制到 /deploy 目录。


  解压 Axis2 二进制文件,将 AXIS2_HOME 环境变量设置为 Axis2 二进制文件解压的目录(本例中设置为 c:appsaxis2-1.1)。然后解压 JiBX,并将 /lib 目录的所有 JAR 文件(除了 stax-api.jar 文件之外,因为 Axis2 已经含有了 stax-api.jar 文件)复制到 /lib 目录下。


  这样就设置好了环境。


  Java 类


  这里提供了一些 Java 类,用于构成一个简单的 Web 服务 Java 项目。使用什么样的 Java 类并无大障,您也可以使用自己创建的 Java 类。本文使用的项目含有三个类:OneWayRequest 类、TwoWayRequest 类和 TwoWayResponse 类。按顺序看看每个类,我们先从 OneWayRequest 类开始(参见清单 1)。


  清单 1. OneWayRequest Java 类


   package com.ibm.devWorks.xml.simpleService;
  public class OneWayRequest {


  protected String requestData;


  public String getRequestData() {


  return this.requestData;


  }


  public void setRequestData(String requestData) {


  this.requestData = requestData;


  }


  }
 
  上面的代码中只含有一个字段,即 requestData,它包含了请求的数据。该类有两个方法:一个用于设置字段值,另一个用于检索字段值。


  接下来再看一看清单 2 中的 TwoWayRequest 类。


  清单 2. TwoWayRequest Java 类


         package com.ibm.devWorks.xml.simpleService;
  public class TwoWayRequest {


  protected String echoString;


  protected boolean booolean;


  public boolean getBooolean() {


  return this.booolean;


  }


  public void setBooolean(boolean booolean) {


  this.booolean = booolean;


  }


  public String getEchoString() {


  return this.echoString;


  }


  public void setEchoString(String echoString) {


  this.echoString = echoString;


  }


  }
 
  这个类要稍长一点,它定义了两个字段:一个是 echoString,另一个是 booolean。与第一个类相同,该类为每个字段都定义了一个 getter 和一个 setter 方法。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐