WEB开发网
开发学院WEB开发Jsp 用Axis开发基于Java的Web服务 阅读

用Axis开发基于Java的Web服务

 2008-01-05 18:59:32 来源:WEB开发网   
核心提示:概述本文介绍了一个比较简单实用的基于java的SOAP引擎——Apache组织推出的Axis——的安装、配置和应用开发方法,希望对有爱好做基于Java的Web Services应用开发的朋友有所帮助,用Axis开发基于Java的Web服务,Axis简介Axis是Apache组织推出的SOAP引擎,Axis项目是Apac

概述

  本文介绍了一个比较简单实用的基于java的SOAP引擎——Apache组织推出的Axis——的安装、配置和应用开发方法,希望对有爱好做基于Java的Web Services应用开发的朋友有所帮助。

Axis简介

  Axis是Apache组织推出的SOAP引擎,Axis项目是Apache组织闻名的SOAP项目的后继项目,目前最新版本是采用Java开发的1.1版本,C++的版本正在开发之中。Axis v1.1软件包可以从http://ws.apache.org/axis/dist/1_1/下载得到。

Axis的安装

  应用Axis开发Web Services,你需要有一个支持Servlet的服务器引擎,比如广为人知的Tomcat(Tomcat也是由Apache组织所提供的,目前的最新版本为4.1.24,下载地址为http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.24/)。在此之前当然你机器必须已经装好了JDK1.3以上的版本,当安装好Tomcat之后,只需将下载的Axis软件包解压缩,将其中的“webapps”目录下的“axis”目录整个拷贝到Tomcat安装目录下的“webapps”目录下即可。

Axis的配置

  Axis基于Java开发,可以部署于多种操作系统,使用前需要配置一系列的系统变量,在此假定你已经在本机上装好了Tomcat 4.0以上的版本,需要配置的系统变量如下表所示:

CATALINA_HOME
C:\Tomcat_4_1

(此处应为Tomcat的安装位置,注重路径名中不要有空格)

AXIS_HOME
%CATALINA_HOME%\webapps\axis

AXIS_LIB
%AXIS_HOME%\lib

AXISCLASSPATH
%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar; %AXIS_LIB%\commons-logging.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

假如你不愿做这么繁琐的类路径设置,可以直接将axis软件包中“lib”目录下的所有.jar文件加入到系统环境变量CLASSPATH中即可。

Axis的测试

  安装配置完毕后,应测试一下是否Axis可以正确运行了。

启动Tomcat服务器,在浏览器中访问http://localhost:8080/axis/happyaxis.jsp,假如页面显示有错误,则需要回头检查一下相关配置是否正确,假如浏览页面能正确显示出系统组件、属性等参数配置信息,则表示安装成功,如下图所示:

用Axis开发基于Java的Web服务(图一)

  现在可以开始开发你的Web Services应用了。

服务的发布

  Axis提供了两种服务发布方式,一种是即时发布(Instant Deployment),一种是定制发布(Custom Deployment)。

使用即时发布

  对即时发布的支持是Axis的特色之一,使用即时发布使用户只需有提供服务的Java类的源代码,即可将其迅速发布成Web服务。每当用户调用这类服务的时候,Axis会自动进行编译,即使服务器重启了也不必对其做任何处理,使用非常简单快捷。

使用即时发布首先需要一个实现服务功能的Java源文件,将其扩展名改为.jws(Java Web Service的缩写),然后将该文件放到“……\webapps\axis”目录下即可。

在此给出一个从英里到公里的长度单位转换的服务,其源码如下:

文件Distance.jws

/**

* @author 飞鹰

*/

public class Distance

{

public double convertMile2Kilometre( double mile )

{

//实现英里到公里的距离转换

return mile * 1.609;

}//convertMile2Kilometre()


Tags:Axis 开发 基于

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接