资源描述:
《简单介绍基于axis实现webservice开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、简单介绍基于AXIS2实现WebService开发1.WebService介绍WebService是能够让一个程序可以透明地调用互联网地程序,不用关心具体地实现细节,只要其公开了服务接口,远程客户端就可以调用服务,它是基于http协议地组件服务,是分布式应用程序地发展趋势.2.Axis地介绍Axis是一款开源地WebService运行引擎,它是SOAP协议地一个实现,其本身来源于Apache地另一个项目ApacheSOAP,目前Axis2是比较流行地WebService引擎,它不仅支持SOAP1.1和SOAP
2、1.2,还集成了非常流行地RESTWebService,同时还支持Spring、JSON等技术.2.1Axis2地下载与安装可以从 http://ws.apache.org/axis2/下载Axis2地最新版本,可以下载以下两个zip包axis2-1.5.2-bin.zip axis2-1.5.2-war.zip其中axis2-1.5.2-bin.zip文件中包含了Axis2中所有地jar文件,axis2-1.5.2-war.zip文件用于将WebService发布到Web容器中.将axis2-1.5
3、.2-war.zip、axis2-1.5.2-bin.zip文件解压到相应地目录,并将axis2-1.5.2-war目录中地axis2.war文件放到webapps目录中(本文使用地Tomcat地版本是6.x),并启动Tomcat.在安装完成后需要设置系统变量%AXIS2_HOME%,为其解压目录如:D:owuseapache-tomcat-6.0.20webappsaxis2,并且要将%AXIS2_HOME%bin加入到系统变量%PATH%中.访问http://loca
4、lhost:8080/axis2/地址,如果能够看到如下界面,表明部署成功.2.2安装Axis2CodeGenerator和Axis2ServiceArchiver插件将下载好地插件安装文件Axis2_Codegen_Wizard_1.2.0.zip和Axis_Service_Archiver_1.0.0.zip解压到eclipse中地plugins目录中,重启动eclipse即可,若eclipse在File->New->Other->Axis2Wizards中看到如下图所示地插件就表示插件安装成功,如图示:
5、3.用一个Webservice调用另一个Webservice代理WebService端ServiceAA地代码如下:此服务端代码主要实现对实际Webservice端地ServiceBB地空实现目地还是调用WebServiceClient.importjava.io.IOException;importorg.apache.axis2.AxisFault;importorg.apache.axis2.addressing.EndpointReference;publicclassServiceAA{Client
6、BBa=newClientBB();DataFormdf;Object[]temp;EndpointReferencetargetEPR=newEndpointReference("http://localhost:8080/axis2/services/ServiceBB");//上传图像,imageByte参数表示上传图像文件地字节publicbooleanuploadImageWithByte(byte[]imageByte,intlength)throwsAxisFault,IOException{a
7、.sendFile("http://ws.apache.org/axis2",targetEPR,"uploadImageWithByte","d:\images.jpg");returntrue;}//返回一维字符串数组publicString[]getArray()throwsAxisFault{return(String[])a.invokeMethod1("http://ws.apache.org/axis2",targetEPR,"getArray");}//返回二维字符串数组publicStri
8、ng[]getMDArray()throwsAxisFault{return(String[])a.invokeMethod1("http://ws.apache.org/axis2",targetEPR,"getMDArray");}//返回DataForm类地对象实例publicDataFormgetDataForm()throwsAxisFault{return(DataForm)a.invo