利用Axis实现基于SOAP的Web Service(I)

利用Axis实现基于SOAP的Web Service(I)

简介

这是一篇用Java不到2周的新手写的关于利用Axis实现基于SOAP的Web Service的纪实性文章,里面不敢介绍什么SOAP,Axis,Web Service之类的理论知识,因为我至今还不是很懂这些,其中涉及到的你可能感兴趣的问题是:

1.如何用JBuilder 9写Web Service的服务器端和客户端;

2.如何发布Web Service;

3.如何解决Web Service中自定义对象的传递问题.

我使用的各个主要开发抱/工具/平台的情况如下:

1. JDK 1.4.0.01

2. JBuilder 9.0

3. Axis 1.1(past name is Apache SOAP 3.0)

4. Xerces 2.5.0

5. Javamail 1.3.1

6. Jaf 1.0.2

7. Tomcat 4.1

 

关键字 Axis,Web Service,SOAP,JBuilder

 

*为什么是Axis而不是Apache SOAP?

 

我最近跳槽了,在以前的公司莫名的郁闷了很久,终于是迈出了这一步,新公司用Java,天,Java,对我来说用Java是近四年前的事情了,那时候还是JDK1.1.7A,我有些莫名的紧张,刚来接到的活是:”做一个Web Service提供给别人调用”….Web Service,我在Windows平台上倒是用过,无非是找一个Java世界中的SOAP实现(也就是一个 SOAP Toolkit),然后调用就完了…首先我找到的是Apache SOAP 2.2,我满心欢喜的准备开始了…还是等等吧,我劝自己冷静一点,看看文档再说…于是我泡上一杯茶到http://ws.apache.org/axis/index.html一顿乱看,这一看把我吓了一跳…有文字为证:

 

Apache SOAP Axis

 

----------------------------------------------------------------------

 

really old third generation

 

really slow much faster, but not as fast as many

 

no WSDL support WSDL support

 

proprietary API JAX-RPC API

 

RPC/encoded only RPC/encoded and Doc/literal

 

interoperability issues very interoperable

 

extensiblity issues very extensible

 

low level API for headers easy handler support for headers

 

上司给我的文档中提到了WSDL这玩意,而上面的表格说明Apache SOAP就不支持WSDL…很自然我的,我选择了Axis,我现在对Axis的认识就是:它是Apache SOAP的后续版本,本来是叫Apache SOAP 3.0的,但是人家为了噱一点就去了这个名字.

Axis和Apache SOAP都是SOAP协议的实现,但是基于上面提到的理由我选择了Axis.

 

*安装和配置Axis

这个请参看http://ws.apache.org/axis/index.html上面写的很详细,其实Axis的安装和配置很简单,从apache网站上Down下1.1的安装文件,解压缩,然后一份拷贝到服务器上,一份拷贝到客户端,然后就是配置了,最主要的就是环境变量的设置了:

 

A. Client(Windows 2000/NT/XP)

set AXIS_HOME = c:/axis
set AXIS_LIB = %AXIS_HOME%/lib
set 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

 

B. Server(Unix+Tomcat4.1.X)

 

set AXIS_HOME=/usr/axis
set AXIS_LIB=$AXIS_HOME/lib
set 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
export AXIS_HOME;

 

export AXIS_LIB;

 

export AXISCLASSPATH

 

 

环境变量很重要也是很容易搞错的地方,你可以设置好以后在控制台下输入set命令(我假设你此时在Win2000/XP下)检查一下自己的环境变量是否设置正确了…像什么找不到指定类之类的错误很可能就是因为环境变量没有设置正确,遇到这类问题别急着哭着喊着去csdn贴贴子,检查自己的环境变量设置先.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值