使用Apache AXIS 1.4开发Web服务:小试牛刀

使用Apache AXIS 1.4开发Web服务:小试牛刀

试验目的:

使用Apache AXIS 1.4开发最简单的Web服务程序

 

前提:

操作系统:windows 2000/XP/2003

在进行此试验前,需要先建立Java试验环境,如果你还没有建立实验环境,请参考我的上一篇文章:建立Java试验环境

 

基础知识及AXIS简介:

Apache axis是一个SOAP服务器和客户端。SOAP是一种用于应用程序之间通信的协议,它基于HTTP和XML(需要传输的数据用XML进行包装,通过HTTP协议进行传输)。因为SOAP基于XML和HTTP,它具有跨操作系统平台、开发语言的特点。所以Web服务是用于进行大型系统集成的选择之一。

 

试验内容:

1.安装Tomcat5.0

A).从Apache Tomcat网站下载Tomcat 5.0安装程序,打开网页后,请选择5.0.28 -> Binary Distribution -> Core -> windows Executable。

B).双击下载的Tomcat 5.0安装程序,按照安装程序的默认配置进行安装。

默认的安装目录是:C:/Program Files/Apache Software Foundation/Tomcat 5.0/

 

2.下载AXIS 1.4 (下载),并将下载的压缩包解压到D:/axis-1.4/目录

 

3.将AXIS 1.4安装到Tomcat中

A).安装

拷贝D:/axis-1.4/webapps/axis目录到C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps目录下。

B).测试安装

1).打开命令行,输入以下命令,启动Tomcat

XXX/>cd C:/Program Files/Apache Software Foundation/Tomcat 5.0

C:/Program Files/Apache Software Foundation/Tomcat 5.0>bin/startup

此命令会打开一个新的命令行窗口,上边显示启动Tomcat的信息。

注: 请在Tomcat窗口中确认你的Tomcat的端口是否为8080。

默认的Tomcat安装端口是8080。如果在安装Tomcat以前8080端口被别的程序占用,安装程序会试图使用其他端口。

 

2).启动IE浏览器,在地址栏中输入: http://127.0.0.1:8080/axis/,会出现以 Apache - axis为标题的页面。点击Validation,测试AXIS运行需要的条件是否满足。

注: 如果系统提示缺少某个库,请在互联网上或者你的机器的某个目录中找到需要的库文件,拷贝到C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/axis/WEB-INF/lib目录中,然后重新启动Tomcat服务器,在执行测试安装的第2步。

 

4.编写、发布、测试Message Web服务。

A).设置系统环境变量

AXIS_HOME=D:/axis-1_4
AXIS_LIB=%AXIS_HOME%/lib
AXISCLASSPATH=%AXIS_LIB%/axis.jar;%AXIS_LIB%/commons-discovery-0.2.jar;
%AXIS_LIB%/commons-logging-1.0.4.jar;%AXIS_LIB%/jaxrpc.jar;
%AXIS_LIB%/saaj.jar;%AXIS_LIB%/log4j-1.2.8.jar;%AXIS_LIB%/xml-apis.jar;
%AXIS_LIB%/xercesImpl.jar

B).编写Message类

在C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/axis/WEB-INF/classes目录下新建Message.java文件。然后编辑此文件,加入以下内容:

public class Message{
public String getMessage(){
return "this is my message.";
}
}

此程序中只包含getMessage函数,我们希望把它发布成Web服务。

保存以上内容后,执行以下命令,编译Message.java程序:

XXX/>cd C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/axis/WEB-INF/classes
C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/axis/WEB-INF/classes>javac -cp %AXISCLASSPATH% Message.java

classes目录下将生成Message.class文件。

C).发布getMessage Web服务

我们需要编写一个说明文件,告诉AXIS想要把那个程序发布成Web服务。在C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/axis/WEB-INF/classes目录下新建一个文本文件,然后将文件名称修改为deploy.wsdd并添加如下内容:

xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">






运行以下命令,发布Web服务

C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/axis/WEB-INF/classes>java -cp %AXISCLASSPATH% 
org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd

D).编写客户端

在C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/axis/WEB-INF/classes目录下新建文本文件,将其名称更改为TestClient.java,并加入以下内容:

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;

public class TestClient {
public static void main(String [] args) {
try {
String endpoint =
"http://localhost:8080/axis/services/Message";

Service service = new Service();
Call call = (Call) service.createCall();

call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName(new QName("http://soapinterop.org/", "getMessage"));

String ret = (String) call.invoke( new Object[] {} );

System.out.println("got '" + ret + "'");


} catch (Exception e) {
System.err.println(e.toString());
}
}
}

运行以下命令,编译和运行此客户端程序测试Web服务程序

C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/axis/WEB-INF/classes>javac -cp 
%AXISCLASSPATH% TestClient.java
C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/axis/WEB-INF/classes>java -cp .;%AXISCLASSPATH% TestClient

如果系统显示以下信息,说明Web服务调用成功

got 'this is my message.'

 

参考资料:

AXIS Documentation (D:/axis-1_4/docs/install.html)

 

 

 

你可能感兴趣的:(web服务,apache,tomcat,soap,string,service)