本教程适用于对使用Apache Axis2开发和部署Web服务感兴趣的Java程序员。

前提条件

本教程是使用Axis2创建Web服务并使用Java客户端程序调用Web服务并使用Soap UI工具测试Web服务。需要基本了解Java,Web服务,XML,Ant和应用程序服务器(Tomcat)才能轻松理解本教程。

使用的软件和工具

  • Java Development Kit(JDK)1.6.0(Tomcat 7需要min JDK 1.6)
  • Apache Ant 1.7.0(Axis2要求最低版本1.6.5)
  • Apache Axis2 1.5.4(二进制分发)
  • 用于项目开发的Eclipse 3.6.1 IDE(也可以使用其他IDE,例如NetBeans)
  • Apache Tomcat 7.0.8
  • SoapUI用于测试Web服务。
  • Mac OS X 10.6.4(我正在使用Mac OS,但该教程也适用于其他操作系统,但执行命令时可能需要进行一些更改)

系统设置

  • 下载Apache Tomcat的最新版本。 截至目前,最新版本是9.0.8,这是在本教程中使用的。 它需要最低Java版本1.6,因此请确保将其安装在您的系统中。 如果系统中未安装Java 6,则应首先从Java SE Downloads下载并安装它。 下载Tomcat Core zip(apache-tomcat-7.0.8.zip)并解压缩以将其安装在您的系统上。 设置JAVA_HOME环境变量以启动和停止服务器。

  • 从Apache Axis2下载Apache Axis2 1.5.4二进制分发zip版本。 创建将部署到tomcat的axis2.war以及在项目中使用axis2库需要此步骤。

  • 将Axis2二进制分发zip解压缩到任何方便的目录中。 转到axis2-1.5.4/webapp目录并运行ant create.war命令在axis2-1.5.4/dist目录中创建axis2.war部署。 如果没有安装Apache Ant,可以从Apache Ant - Binary Distributions下载并安装它。 请注意,如遇到了从War Distribution下载的axis2.war的一些问题。 后来发现在axis2.war战争分布中缺少几个jar文件。 War Distribution仅包含58个jar文件,而Binary Distribution包含63个jar文件。


$ ant create.war
Buildfile: build.xml

init:
    [mkdir] Created dir: /Users/pankaj/Downloads/axis2-1.5.4/dist/temp
     [copy] ing 59 files to /Users/pankaj/Downloads/axis2-1.5.4/dist/temp

prepare.repo:
     [copy] ing 9 files to /Users/pankaj/Downloads/axis2-1.5.4/dist/temp/WEB-INF
    [mkdir] Created dir: /Users/pankaj/Downloads/axis2-1.5.4/dist/temp/WEB-INF/conf
     [copy] ing 1 file to /Users/pankaj/Downloads/axis2-1.5.4/dist/temp/WEB-INF/conf

create.war:
      [war] Building war: /Users/pankaj/Downloads/axis2-1.5.4/dist/axis2.war
   [delete] Deleting directory /Users/pankaj/Downloads/axis2-1.5.4/dist/temp

BUILD SUCCESSFUL
Total time: 2 seconds
  • 通过在tomcat webapps目录中复制axis2.war,在tomcat应用程序服务器中部署它。 如果服务器不支持热部署,则可能需要重新启动服务器。
  • 访问URL=> http://localhost:8080/axis2 并单击Validate 链接。 如果Happy Axis页面带有绿色,则表示axis2已成功部署。系统设置现已准备就绪,可以继续创建Axis2 Web服务。

创建Axis2 Web服务

要创建Axis2 Web Service存档,需要以下内容:

  • Java项目(Axis2WSImplementation),其类将作为Web服务公开。 在示例中,将从MyService类中公开两个操作。 第一个操作getData输入是String并返回String,而第二个操作getObjectData输入是MyBean java对象,并在一些数据操作后返回MyBean java对象。 请注意,MyBean类实现Serializable接口,以便可以通过网络传输。

  • Ant build.xml文件,用于创建war,wsdl和客户端存根和回调处理程序类。

  • services.xml 文件,它将成为axis2存档的一部分。 该文件将放在axis2存档的META-INF文件夹中。

项目结构将类似于下图 -