您的位置:首页 > 编程语言 > Java开发

Java 编写 Web Service——使用axis && axis2 (续)

2014-05-26 23:47 423 查看
使用axis2进行webservice的编写:

axis2感觉和axis1完全不一样,更智能化,但。。。越智能越摸不透了

1、下载axis2-1.6.2-bin、axis2-1.6.2-war 、axis2-eclipse-service-plugin-1.6.2.zip  三个包,下载地址 http后面是

axis2-1.6.2-war.zip

axis2-1.6.2-bin.zip

axis2-eclipse-service-plugin-1.6.2.zip

(该文件加压后,将plugin文件放到eclipse的plugins目录下,重启eclipse)

2、解压axis2-1.6.2-bin.zip,lib目录下是axis2的类库,需要加载到项目中

3、解压axis2-1.6.2-war.zip,发现下面有一个文档叫axis2.war的文件,很重要,

将此文件直接copy到tomcat的webapps目录下,当重新开启tomcat时,此文件将会被自动加载,

且在webapps目录下面会新生成一个axis2的项目 文件夹,一个完整的项目

应该有axis2-web、META-INF、org、WEB-INF四个目录,其中axis2-web与axis2-1.6.2-bin.zip中的一致

4、运行如下url   ,显示如下,可以点击进Services



5、进行webservice文件的编译:

右键项目名称,点击new,选择(回顾第一点的第三个文件,原本eclipse下面是没有该选项的)



按照步骤,先选择tomcat下要项目的web-inf\class文件夹,“Include.class file only”应该是勾选状态,

Next(点选skip Wsdl),

next,

next(此处让配置xml文件,可以选择“Generate....”,不用配置,后面介绍干嘛用的),

next (Outfilelocation:选择路径xxx\tomcat\webapps\axis2\web-inf\services,这里的就是自动将webservice生效文件直接生成到了axis2的目录下面)

(output File name:填写webservice的名称 whinfo),点击 Finish,完成配置

到xxx\tomcat\webapps\axis2\web-inf\services下面看到一个新的文件whinfo.arr,可以解压缩,发现其实就是将我们整个项目的class全部压缩进来了

所以axis2在调用webservice的时候可以说和原项目根本没有关系,只和webapps/axis2有关 ,原来的项目全被打包放进来了

其中whinfo.arr中有met-inf文件夹下的 service.xml文件,可以进行一些webservice参数的配置,如targetnamespace之类的

以上,全部完成,使用之前一篇的客户端进行连接,测试ok(可以直接用ie测试,在url后面加上?message=xxxxxxxxxxxxxx)

但是,使用客户提供的程式确无法连接,参数传不过来,报arrayindexout错误。。。实在无语,搜索很多文章都没能够解决

客户的程式是用axis编写的,不知道是否和这个有关

之前用C#.NET、VB.net编写的同样的webservice也都是,自己测试完全ok,但是客户的程式一旦调用就收不到参数。。。。。。。。。

可能是webservice的某些参数没有确认到
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web service webservice