XML功能强大,使用它能够定义任何事物。更重要的是,它是使大多数应用程序具有外部可读格式的基础,对于本系列文章所使用的Axis2和JiBX尤为显着。随着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中国
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
内存数据网格提供商一头扎进Java
10年的时间里,应用性能解决方案提供商Alachisoft一直在用NCache(针对N-Tier和网格计算.NET应用的内存计算和数据网格产品)为.NET社区服务。
-
遇到这样一个问题:通过java service wrapper部署应用,wrapper进程占用的内存会一直升高, 直到把内存吃完应用崩溃,但是这个wrapper
遇到这样一个问题:通过java service wrapper部署应用,wrapper进程占用的内存会一直升高 […]
-
Google App Engine for Java 对于目前中国需要学习吗?