导航

使用Axis2完成WebService的发布和调用

Posted on 2017-07-05 19:40  Young哥哥  阅读(106)  评论(0)    收藏  举报

 

一、        准备工作

 

注意:下载JKD和eclipse时要注意版本统一下载32位的或者统一下载64位的(本文使用的是64位的jdk和eclipse

 

JDK下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

eclipse下载地址:

https://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/neon2

tomcat6下载地址:

http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-6/v6.0.48/bin/apache-tomcat-6.0.48.zip

Axis2下载地址:

http://archive.apache.org/dist/axis/axis2/java/core/1.6.4/axis2-1.6.4-bin.zip

http://archive.apache.org/dist/axis/axis2/java/core/1.6.4/axis2-1.6.4-war.zip

Axis2的eclipse插件下载地址:

http://archive.apache.org/dist/axis/axis2/java/core/1.6.4/axis2-eclipse-codegen-plugin-1.6.4.zip

http://archive.apache.org/dist/axis/axis2/java/core/1.6.4/axis2-eclipse-service-plugin-1.6.4.zip

插件的作用是打包aar文件和生成客户端调用代码。

 

下载完成的软件如下所示:

 

 

 

 

二、        环境配置

JDK配置:

 

tomcat配置:6.0

  1. 新建目录D:\Program Files
  2. 将tomcat压缩包复制到D:\Program Files目录下
  3. 右键,解压到当前文件夹

 

eclipse配置:

  1. 将eclipse压缩包复制到D:\Program Files目录下
  2. 右键,解压到当前文件夹,得到eclipse目录
  3. 进入eclipse文件夹,双击eclipse.exe应用程序,启动eclipse
  4. 在设置workspace页面,设置eclipse的工作目录为D:\workspace

 

Axis2配置:

  1. 将axis2-1.6.4-bin.zip压缩包复制到D:\Program Files目录下
  2. 右键,解压到当前文件夹,得到axis2-1.6.4目录

 

eclipse中Axis2路径配置:

  1. 打开eclipse
  2. 点击菜单栏上的window按钮
  3. 从下拉菜单中选择preference选项
  4. 在Preference页面的左侧找到WebService->Axis2 Preference
  5. 在Axis2 Preference页面点击Axis2 Runtime标签页中的Browse按钮,设置axis2 runtime location为D:\Program Files\axis2-1.6.4,如下图所示:

 

 

  1. 点击OK按钮

 

Eclipse Axis2插件配置

解压axis2-eclipse-codegen-plugin-1.6.4.zip和axis2-eclipse-service-plugin-1.6.4.zip,把得到的两个jar包放入eclipse目录下的\plugins\中,重启eclipse。

三、        发布axis2

解压axis2-1.6.4-war.zip获得axis2.war并把它放到tomcat解压目录的webapps文件夹下,启动tomcat,浏览器中输入http://localhost:8080/axis2/,出现下图,说明配置成功。

 

 

 

用eclipse的axis2插件发布web服务

/*--不用操作

 在eclipse中new一个Dynamic Web Project,取名webserviceService。编写一个简单的webService服务器代码。

 

 

*/    不用操作

 

 在eclipse的命令栏点击File->new->Other,在弹出的对话框中,找到Axis2 Service Archiver,

 

 

 

双击->选择HelloWorldService所在项目的classes-->build下的classes路径,如下图

 

 

 

点击next->选中skip WSDL,如下图

 

 

 

点击Next->这个页面保持默认什么都不填,如下图

 

 

 

点击Next,选中Generate the service xml automatically,如下图

 

 

点击Next按钮,在Service Name处填写HelloWorldService,在Class name处填写HelloWorldService类的全路径,点击load按钮,在下面的Method表中出现sayHello说明load成功,如下图

 

 

点击Next按钮,在Output File Location处填写要导出的文件的路径,在Output File Name处填写文件的名字,如下图

 

 

点击Finish按钮。

 

到D盘把aar文件放到%tomcat_home%\webapps\axis2\WEB-INF\services下。重启tomcat浏览器中输入http://localhost:8080/axis2/services/HelloWorldService?wsdl,出现下图,说明发布成功。

 

 

 

四、        使用eclipse的Web Service Client生成客户端调用代码

在eclipse命令栏中点击File->new->Other->Web services->Web Service Client,选中,如下图所示

 

 

点击Next按钮,在Service definition处填发布好的wsdl路径http://localhost:8080/axis2/services/HelloWorldService?wsdl,Client type默认,下面的下滑快拉到最上面Test Client,点击Server runtime:Tomcat v6.0 Server出现下图

 

 

选中Choose server first,Web service runtime栏中选中Apache Axis2,点击OK按钮。

点击Client Project:xxxxxxx,出现下图

 

 

在Client project处输入项目名称WebServiceClient,点击OK按钮。

 

设置好之后如下图所示

 

 

点击Next按钮,进入下一个页面,如下图所示

 

 

在这个配置页面,不做任何操作,点击Next按钮

 

 

此时eclipse中的tomcat没有启动,点击start server按钮启动eclipse中的tomcat(此时应该先关闭eclipse外的那个tomcat,避免端口冲突)。tomcat启动成功后如下图所示

 

 

点击Next按钮,进入下一个页面,如下图所示

 

 

 

点击Finish按钮,eclipse的内嵌浏览器会显示wsdl的一些信息。

 

 

到此客户端代码已经生成成功,我们到eclipse的Project Explorer中查看生成的客户端项目的内容

 

 

在src的source folder下出现org.web.service包,下面有HelloWorldServiceCallBackHandler.java和HelloWorldServiceStub.java文件,Web App Libraries也有更新,在WebContent目录下也出现axis2-web文件夹,以及WEB-INF等的更新。

 

写webService调用代码

在webServiceClient项目中新建一个客户端测试文件如下:

 

 

 

五、        服务端接收的参数为javaBean,返回list样例

 

创建服务。新建User.java

 

 

 

新建ListService.java

 

 

 

根据上面的操作步骤创建客户端调用代码。得到下面所示两个文件ListServiceStub.java和ListServiceCallbackHandler.java

 

 

在客户端项目中创建ListServiceClient.java

 

 

以java application方式运行,查看输出。