您的位置:首页 > 其它

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

2007-12-05 09:35 344 查看
利用Axis实现基于SOAP的WebService(I)

简介

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

1.如何用JBuilder9写WebService的服务器端和客户端;

2.如何发布WebService;

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

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

1.JDK1.4.0.01

2.JBuilder9.0

3.Axis1.1(pastnameisApacheSOAP3.0)

4.Xerces2.5.0

5.Javamail1.3.1

6.Jaf1.0.2

7.Tomcat4.1

关键字Axis,WebService,SOAP,JBuilder

*为什么是Axis而不是ApacheSOAP?

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

ApacheSOAPAxis


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


reallyoldthirdgeneration


reallyslowmuchfaster,butnotasfastasmany


noWSDLsupportWSDLsupport


proprietaryAPIJAX-RPCAPI


RPC/encodedonlyRPC/encodedandDoc/literal


interoperabilityissuesveryinteroperable


extensiblityissuesveryextensible



lowlevelAPIforheaderseasyhandlersupportforheaders



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

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

*安装和配置Axis

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

A.Client(Windows2000/NT/XP)

setAXIS_HOME=c:/axis
setAXIS_LIB=%AXIS_HOME%/lib
setAXISCLASSPATH=%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)

setAXIS_HOME=/usr/axis
setAXIS_LIB=$AXIS_HOME/lib
setAXISCLASSPATH=$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
exportAXIS_HOME;


exportAXIS_LIB;


exportAXISCLASSPATH




环境变量很重要也是很容易搞错的地方,你可以设置好以后在控制台下输入set命令(我假设你此时在Win2000/XP下)检查一下自己的环境变量是否设置正确了…像什么找不到指定类之类的错误很可能就是因为环境变量没有设置正确,遇到这类问题别急着哭着喊着去csdn贴贴子,检查自己的环境变量设置先.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: