博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Eclipse+tomcat+axis2进行web service部署
阅读量:6701 次
发布时间:2019-06-25

本文共 3627 字,大约阅读时间需要 12 分钟。

用Eclipse+axis2+tomcat进行web service部署

2016-12-07

目录 

1

  1.1
  1.2
  1.3
2
  2.1
  2.2
3
  3.1
  3.2
  3.3
4
  4.1
  4.2
  4.3
5
6
7

1 安装JDK


 

1.1 下载JDK

JDK下载地址:

1.2 安装和配置JDK

  1. 安装目录尽量不要有空格  D:\Java\jdk1.8.0_91; D:\Java\jre8
  2. 设置环境变量: “我的电脑”->右键->“属性”->”高级系统设置”->"新建系统变量"
    JAVA_HOME:D:\Java\jdk1.8.0_91
    Path: %JAVA_HOME%\bin
  3. 重启计算机

1.3 验证

验证一下是否搭建成功 打开CMD,输入: java -version

2 安装Eclipse


 

2.1 下载Eclipse

下载地址: ,下载“Eclipse IDE for Java EE Developers”

2.2 安装

解压即可使用。这里解压到 D:\Program Files\eclipse-jee-indigo-SR2-win32-x86_64\

3 安装Tomcat


 

3.1 下载Tomcat

下载地址:  

3.2 安装及配置

  1. 解压到目录:D:\tomcat
  2. 设置环境变量: “我的电脑”->右键->“属性”->”高级系统设置”->"新建系统变量"
    CATALINA_HOME:D:\tomcat
    Path: ;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin

3.3 验证

以“管理员身份运行” D:\tomcat\bin\startup.bat

4 安装axis2


 

4.1 下载axis2

axis主页面:

下载地址:

下载axis2-1.7.4-bin.zip,解压到:D:\Dev\axis2-1.7.4 ,lib目录下的jar包是WebService业务开发需要的库文件 

4.2 在tomcat中部署axis2

下载axis2-1.6.2-war.zip,解压到tomcat的webapps目录下(D:\tomcat\webapps),重启tomcat,会发现webapps目录下多了axis2文件夹,在浏览器里输入http://localhost:8080/axis2,会发现对应的网页,说明已经成功了

4.3 在eclipse中配置axis2

  1. 下载axis2-eclipse-codegen-plugin-1.7.4.zip和axis2-eclipse-service-plugin-1.7.4.zip
  2. 先关闭eclipse
  3. 进入eclipse的文件中将上面下载的eclipse插件解压到dropins文件目录下(解压的时候会生成plugins文件夹,我是把里面生成的jar直接拷出来放在dropins文件夹里面),这里解压到:D:\Program Files\eclipse-jee-indigo-SR2-win32-x86_64\eclipse\dropins。
  4. 然后重启eclipse,点击File->New->Other有如下图显示,则表示安装插件成功!

5 建立要发布的Web Service


 

打开Eclipse,Windows->Preferences下new一个User Libraries,命名为axis2,将下载axis2-1.7.4-bin.zip解压到:D:\Dev\axis2-1.7.4,把该目录下lib 下的包均添加进来,如下图所示。这一步操作的目的是为了以后工程方便添加axis2所需的 jar文件。 

  1. 建立一个JavaProject,命名为HelloWorld,
  2. 将axis2用户库加入到build path中
  3. 现在开始编写要发布的WebService,在src包中建包Services,建立Hello类如下:
package Services;public class Hello {    public String sayHi(String user) {        return "Hi, "+ user;    }}

6 发布Web Service


 

  1. 编译刚刚建立的Hello类,类编译后,会在workspace中对应工程目录下的bin文件夹下生成Hello.class文件

  2. 打包要发布的Service, 点击Eclipse中New -> File -> Other -> Axis2 wizards -> Axis2 Services Archiver

  3. 按上图填写,class File Location为工作目录对应项目的bin文件夹,并勾上Include .class files only,点击next

  4. 默认选择Skip WSDL,点击next

  5. 默认,继续next

  6. 默认,继续next

  7. 如上图所示,Class name请务必设为Services.Hello,代表使用的类是D:\Users\...\workspace\HelloWorld\bin路径下,文件夹Services下的Hello类,否则Load不上的。

  8. 如上图所示,output file location务必填写tomcat目录的axis2\web-inf\services下,点击Finish后,可以发现:D:\tomcat\webapps\axis2\WEB-INF\services目录下增加了sayHi_service.aar

  9. 测试所发布的Web Service 

      打开http://localhost:8080/axis2/services/listServices页面,可以看到HelloWorld服务:

 

     点击HelloWorld链接进入wsdl页面

7 编写客户端代码调用WebService


 

在src包中建包Client,建立myClient类如下:

package Client;import javax.xml.namespace.QName;import org.apache.axis2.AxisFault;import org.apache.axis2.addressing.EndpointReference;import org.apache.axis2.client.Options;import org.apache.axis2.rpc.client.RPCServiceClient;public class myClient {    public static void main(String[] args) throws AxisFault {        // 使用RPC方式调用WebService        RPCServiceClient serviceClient = new RPCServiceClient();        Options options = serviceClient.getOptions();        // 指定调用WebService的URL        EndpointReference targetEPR = new EndpointReference("http://localhost:8080/axis2/services/HelloWorld");        options.setTo(targetEPR);        // 指定要调用的sayHelloToPerson方法及WSDL文件的命名空间        QName opAddEntry = new QName("http://Services", "sayHi");        // 指定sayHelloToPerson方法的参数值        Object[] opAddEntryArgs = new Object[] { "John" };        // 指定sayHelloToPerson方法返回值的数据类型的Class对象        Class[] classes = new Class[] { String.class };        // 调用sayHelloToPerson方法并输出该方法的返回值        System.out.println(serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0]);    }}

运行该程序,点击Run As->Java application,可以看到控制台端口的输出是:Hi, John

参考

[1]

[2]

[3]

 

转载地址:http://dxgoo.baihongyu.com/

你可能感兴趣的文章
redis的配置文件
查看>>
Nginx的Web管理界面收集
查看>>
Java操作MongoDB
查看>>
分布式系统开发工具包 —— 基于Kryo的Java对象序列化
查看>>
nagios监控服务器的搭建
查看>>
Sql server优化50法
查看>>
使用Server 2008新GPO做驱动器映射
查看>>
Java网络编程从入门到精通(5):使用InetAddress类的getHostName方法获得域名
查看>>
Lync Server外部访问系列PART5:模拟公网DNS
查看>>
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(一)
查看>>
总结面试时没有回答上的内存对齐问题
查看>>
Node.js 使用jQuery取得Nodejs http服务端返回的JSON对象示例
查看>>
【原】iOS:手把手教你发布代码到CocoaPods(Trunk方式)
查看>>
使用Cross-Page Postback(跨页面提交)在页面间传递数据
查看>>
To install 64-bit ODBC drivers
查看>>
[20150629]12c物化视图刷新Out of place
查看>>
Linux下编译安装Apache httpd 2.4
查看>>
IOS7.1.1真的像网上流传的那么好?没有任何问题么??
查看>>
剖析Docker Swarm和Mesos:是什么?如何结合?有什么优势?
查看>>
OpenSceneGraph in ActiveX by ActiveQt
查看>>