Axis技术文档
Axis技术文档 ? ? 简介:Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架,Axis目前版本是为Java编写的,不过为C++的版本正在开发中。而在工作中我们可以方便的通过Axis进行Webservice的开发。 ? 下面我们就一步一步的来进行Axis的开发 1.????????从 Axis的官方网站上下载(http://ws.apache.org/axis/).解压缩axis-bin-1_3.zip。在lib中包含Axis必须使用的jar包。 2.???????? 下载完成之后,安装axis.( Axis 1.3,tomcat 5.028,jdk 1.42),复制你的Axis -bin-1_3安装包下webapps文件夹中的axis目录到tomcat的webapps下,发布你的Axis应用,启用你的Tomcat,IE地址栏中输入http://localhost:8080/axis, 这时就会出现axis的欢迎画面.进入Validation链接以检查axis所使用的jar包是否全都存在,如果不存在,就下载那部分不存在的,下载完后,把下载解压后文件夹中lib目录下的.jar文件复制到tomcat/webapps/ axis/WEB-INF/lib目标下,重启Tomcat,最终如果出现下面的界面,说明安装axis成功。
3.???????? 测试axis a)???????? 新建一web项目,名称为testServiceAxis,把tomcat/webapps/ axis/WEB-INF/lib目录下的所有jar包全部复制到testServiceAxis项目的web-inf/lib目录中去。在src目录下新建一文件去名称为HelloWorld.jws,里面的代码很简单,就是一个方法打印一句话,”Hi,你好,XXX,欢迎你来到精彩的axis世界上。”
让上面的代码做为服务器端来运行。也就是说,供别个调用的一个服务。 b)??????? 另建一web项目,名称为testClieatAxis,把把tomcat/webapps/ axis/WEB-INF/lib目录下的所有jar包全部复制到testServiceAxis项目的web-inf/lib目录中去。现在我们编写调用web service上的程序,也就是说,我们现在进行两个应用间的通信。在src目标下新建一测试类,名称为Test.java,代码如下:
最后如果能够进行正常的打印,就说明已经配置成功了,一个最简单的web服务,客户端和服务器端就完成了通信了。 c)??????? 以上的程序把它放到两个程序中的目的就是,为了让用户更容易明白,服务端和客户端之间的通信,让两者间不混淆。所以把它放在两个项目中来处理,其实放到一个项目中来测试也是可以的。 d)??????? 在实际web service开发中,是绝对没这么简单的,下面让我们来看一下,如何通过WSDL的方式进行通信,也即通过可配置的形式进行通信。 4.???????? 通过WSDL进行webservice的通信: a)???????? 什么是WSDL(Web Services Description Language): 是一个用来描述Web服务和说明如何与Web服务通信的XML语言。具体详细内容请参考http://blog.csdn.net/ftf_tengfei/archive/2007/09/20/1793221.aspx b)??????? 另介绍一个Eclispe的插件,Wsdl转java的插件http://www.myspotter.com/wsdl2java.shtml,在此份文档中,我们转换还是通过java命令来完成。由于要用到相关的java命令,我们需要配置相关的系统环境变量: 1)??????? 先要保证java系统环境变量没问题,具体内容可参考网上教程。 2)??????? 另要配置axis的系统环境变量,主要有以下几个: l???????? AXIS_LIB l???????? AXIS_HOME l???????? 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; ? 注意此目录一定要配置正确,不然等下出现类找不到错误,也就是说,如果出现classDefFine的时候,就可来这里找下原因。 c)??????? 新键一web工程,取名称为testAxisWSDL,同样需要在项目的classpath中加入axis文件夹下的jar包 d)??????? 在src目录编写一个和上面一样.java文件,文件名称和内容如下:
???? ???编译上述文件,并把他copy到tomcat/webapps/ axis/WEB-INF/classes e)???????? 同在src目录下,新建一个WSDL文件,取名称deploy.wsdd
? f)???????? 在DOS下转换目录到%TOMCAT_HOME%/webapps/axis/WEB-INF/ classes,命令: java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd 注意执行这个命令的时候,一定要保证Tomcat是启动的,否则执行不成功。 g)??????? 最后,回到testAxisWSDL项目中,新建一个测试类,名称和内容如下所示:
? h)??????? 是不是这里的运行结果和刚才上面的运行结果是一样的呢,是的,是完全一样的,只是我们采用了不同的实现方式,到这里一个入门级别的axis就算实现了,是的,确实到这,就完全实现了。。 i)????????? 到这过程中,如果读者有什么不明白的地方,请发邮件至:ftf_tengfei#163.com (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |