这段时间工作中需要使用webservice开发,所以再加进学习.看了不少网上的教程,特别符合的不多,自己弄了两天,进行下总结.
我的环境:myeclipse8,tomcat,axis1.x(具体我也不清楚,写的是1.5,打开时1.4)
好,废话不多说,开始!
1.安装axis的eclipse插件.
1.1 下载axis插件,具体地址记不住了,需要的朋友附件中有,包括
a).axis2-eclipse-codegen-wizard.zip
b).axis2-eclipse-service-archiver-wizard.zip
当然还需要axis的包,axis2-1.5.1-bin.zip,axis2-1.5-war.zip(这个部署的时候有用)
1.2 安装
1.2.1 把刚才下的两个插件包解压后放置myeclipse8安装目录下的dropins文件夹中.
1.2.2 在axis2-eclipse-codegen-wizard的lib文件夹中加入geronimo-stax-api_1.0_spec-1.0.1.jar和backport-util-concurrent-3.1.jar文件,并修改该目录中的plugin.xml文件,加入如下两行
<library name="lib/geronimo-stax-api_1.0_spec-1.0.1.jar"> <export name="*"/> </library> <library name="lib/backport-util-concurrent-3.1.jar"> <export name="*"/> </library>
(因为目前似乎这个axis的插件经常出问题,不加以上两个jar文件的话会出现客户端生成最后一步报错的问题)
好了,插件安装完成,这里需要注意的是,安装插件的过程中请关闭myeclipse8,否则服务端生成插件又会出问题,就是出现使用插件过程中点击next按钮后,面板上什么都没有了,不过没关系,出现这样的情况的话,请先删除刚才安装的两个插件,然后启动myeclipse8,然后再关闭后,考入两个插件,再启动就OK了(我也初学者,可能这个问题有更好的办法解决,只是目前我这么处理的,有经验的朋友可以多多指点,谢谢.
2.开发服务端
在这个例子中,我们也就采用老掉牙的例子,hello world吧,多好理解的,服务端的目的提供一个sayhello的方法,需要传入一个name的参数,然后返回,hello world! name,好了,废话又多了,做事情.
2.1 新建web工程,名字就叫Hello吧,然后建立如下HelloServer,代码如下:
package server; public class HelloServer { public String sayHello(String name){ return "Hello! "+name; } }
(够简单吧,应该好理解哈!)
2.2 根据HelloServer.java新建wsdl
此步骤可跳过,主要是说明一下插件的功能,其实生成wsdl可以在部署服务端后,通过地址栏访问得到.
右键工程-->新建-->其他-->Axis2 Wizards-->Axis2 Code Generator
如图所示一步一步的:
然后点击完成,OK了,在src目录下应该可以看到HelloWorld.wsdl哈.
3 部署服务端
3.1 建立服务目录
刚才下的axis2-1.5-war.zip文件,解压,有axis2.war文件,再解压,复制axis2\WEB-INF\下的
modules,conf,services三个目录到Hello工程下的WEB-INF目录下.
3.2 打包并部署
右键工程-->新建-->其他-->Axis2 Wizards-->Axis2 Service Archiver
如图所示一步一步的:
(请注意图片中的路径位置)
单击Finish完成,好了,刷新一下项目,可以看到结构图如下.
可以看到在services目录下多了我们添加的SayHelloService.arr包.
3.3 编辑web.xml加入如下代码
<servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>
3.4 解压刚才下载的axis2-1.5.1-bin.zip,然后复制lib下所有jar文件到该工程中.
好了,部署项目,启动tomcat,然后访问 http://localhost:8080/Hello/services/HelloServer_Service?wsdl
完成! 下次继续客户端的方法.累了.