使用Apache Axis2 创建 Web Services (bottom-up)
使用Apache Axis2 创建 Web Services
一.什么是Web Services
简单来说Web Services 就是一种资源,我们可以通过http访问它,它以xml形式返回我们想要的结果。
二.Web 应用程序和web services对比
Web 应用程序 |
Web Services |
返回HTML |
返回XML(SOAP) |
通过GET或POST形式提交数据 |
通过XML(SOAP)提交数据 |
结果返回给浏览器 |
结果返回给应用程序 |
三.Web Services组件
SOAP(Simple Object Access Protocol):
简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
WSDL(Web Services Description Language):
网络服务描述语言是一个用来描述Web服务和说明如何与Web服务通信的XML(标准通用标记语言的子集)语言。为用户提供详细的接口说明书。
UDDI:( Universal Description Discovery and Integration )
UDDI 是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。
四.Apache AXIS2
Apache Axis2是一种WebService框架,对Axis1进行了重新设计,支持SOAP1.2/RES。 事实上AXIS2 不只为WEB应用程式提供Web服务的接口,而且它也可以作为一个单独的服务器看待,而且很简单就能跟Apache Tomcat整合,目前AXIS2的最新版本是1.6.2。它还可以跟Eclipse轻松整合。
使用它我们可以创建bottom-up 或 top-bottom的两种实现不同形式的服务
五.下载和安装Apache AXIS2
下载: http://axis.apache.org/axis2/java/core/download.cgi
安装:直接解压到电脑上的某个文件夹内,如E:\lq\workspace\ws
六.在Eclipse配置AXIS2
打开Eclipse EE 在 Window->Preferences->Web Services->Axis2 Preferences里配置Runtime
七.创建一个web service是服务(bottom-up 基于java bean或 EJB的服务)
八.通过Eclipse创建Dynamic Web Project
配置如图:
九.创建一个服务类 TestService
package service;
import java.util.*;
public class TestService {
public String findCompany(String symbol) {
System.out.printf("Looking up ‘%s‘%n", symbol);
if ((isEmpty(symbol))) {
return("Missing stock symbol");
}
String company = symbolMap.get(symbol.toUpperCase());
if (company != null) {
return(company);
} else {
return(String.format("Unknown symbol: %s.", symbol));
}
}
public void updateCompany(String symbol, String company) {
System.out.printf("Updating ‘%s‘=‘%s‘%n", symbol, company);
symbolMap.put(symbol.toUpperCase(), company);
}
private static String[][] companies =
{ { "AAPL", "Apple Inc." },
{ "IBM", "International Business Machines Corp." },
{ "JAVA", "Sun Microsystems Inc." },
{ "MSFT", "Microsoft Corp." },
{ "ORCL", "Oracle Corp." },
{ "RHT", "Red Hat Inc." }
};
private static Map<String,String> symbolMap =
new HashMap<String,String>();
static {
for(String[] company: companies) {
symbolMap.put(company[0], company[1]);
}
}
private boolean isEmpty(String val) {
return((val == null) || val.trim().equals(""));
}
}
十.将刚刚创建的类作为服务发布出去
- 右键点击TestService.java
- New->other->web services 弹出对话框
- 点击Finish完成配置,此时Eclipse会自动启动tomcat完成对web services的发布
- 通过URI访问刚刚创建的服务
- 点击Services查看服务信息
- 测试服务
http://localhost:8080/web-services/services/TestService/findCompany?symbol=msft
that‘s all! thanks!