首页 > 代码库 > 使用Apache Axis2 创建 Web Services (bottom-up)

使用Apache Axis2 创建 Web Services (bottom-up)

使用Apache Axis2 创建 Web Services

 

一.什么是Web Services

简单来说Web Services 就是一种资源,我们可以通过http访问它,它以xml形式返回我们想要的结果。

二.Web 应用程序和web services对比

Web 应用程序

Web Services

返回HTML

返回XMLSOAP

通过GETPOST形式提交数据

通过XMLSOAP)提交数据

结果返回给浏览器

结果返回给应用程序

 

三.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(""));

  }

}

 

十.将刚刚创建的类作为服务发布出去

  1. 右键点击TestService.java
  2. New->other->web services 弹出对话框

 

 

  1. 点击Finish完成配置,此时Eclipse会自动启动tomcat完成对web services的发布
  2. 通过URI访问刚刚创建的服务

 

 

  1. 点击Services查看服务信息

 

 

  1. 测试服务

http://localhost:8080/web-services/services/TestService/findCompany?symbol=msft

 

that‘s all! thanks!