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

2016-12-07

目录 

1 安装JDK
  1.1 下载JDK
  1.2 安装和配置JDK
  1.3 验证
2 安装Eclipse
  2.1 下载Eclipse
  2.2 安装
3 安装Tomcat
  3.1 下载Tomcat
  3.2 安装及配置
  3.3 验证
4 安装axis2
  4.1 下载axis2
  4.2 在tomcat中部署axis2
  4.3 在eclipse中配置axis2
5 建立要发布的Web Service
6 发布Web Service
7 编写客户端代码调用WebService

参考

1 安装JDK


返回

1.1 下载JDK

JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

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

下载地址: https://www.eclipse.org/downloads/packages/release/Indigo/SR2,下载“Eclipse IDE for Java EE Developers”

2.2 安装

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

3 安装Tomcat


返回

3.1 下载Tomcat

下载地址: http://tomcat.apache.org/download-70.cgi

3.2 安装及配置

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

3.3 验证

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

http://localhost:8080/

4 安装axis2


返回

4.1 下载axis2

axis主页面:http://ws.apache.org/axis2/download.cgi

下载地址:http://mirror.bit.edu.cn/apache/axis/axis2/java/core/1.7.4/

下载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] Eclipse+axis2+tomcat进行web部署

[2] eclipse安装Axis2插件和简单的webservice发布

[3] eclipse+webservice开发实例

Eclipse+tomcat+axis2进行web service部署的更多相关文章

  1. 使用Axis2创建Web Service

    Axis2是新一代Web Service开发工具,目前最新版本是1.5.本文主要介绍如何用Axis2创建Web Service. 首先下载二进制包和war包,将war包复制到Tomcat的webapp ...

  2. 新手Axis2 发布Web Service之路

    由于公司的需求,需要写几个银行接口写模拟器(Mock Server),此次接口需要发布成一个WEB Service. 一开始,我以为只要负责写接口的业务层就行了,具体的框架或是环境搭建可以不用管.在与 ...

  3. 走进云背后:微软Azure web 项目通过web service部署web site

    探索云那不为人知的故事(一):Web Services部署web site 前奏:Windows Azure是微软基于云计算的操作系统,现在更名为“Microsoft Azure”,和Azure Se ...

  4. Eclipse+Axis自动生成Web Service WSDL文件

    JDK版本:1.5.0_22 Eclipse版本:Helios Service Release 2(3.6.2) 首先创建一个web工程,创建过程如下: 如果选择Apache Tomcat v5.5, ...

  5. Eclipse+Tomcat+Axis2+ADT开发环境配置

    一.安装Eclipse和Tomcat 1.安装Eclipse: 2.解压缩安装apache-tomcat-6.0.41 3.tomcat配置环境变量(4个) TOMCAT_HOME     D:\An ...

  6. web service 部署

    写的不好,全当是写给自己看的吧. 公司用飞天诚信的加密狗对网站进行加密,我要部署加密狗的web service.注:web service 由加密狗公司提供. 1.新建网站dog

  7. 配置JDK、tomcat及Java Web项目部署

    一.JDK的安装 (1)下载安装JDK: 这个就不用说了,直接官网下载jdk安装即可.http://www.oracle.com/technetwork/java/javaee/downloads/i ...

  8. Eclipse下编写的web项目部署到tomcat下

    之前都是用myeclipse编写web项目,编写好然后在myclipse上配置的tomcat下的webapps文件想项目复制到其他tomcat下就能运行了. 最近学习jquery,将eclipse编写 ...

  9. Restful Web Service部署到weblogic 12c

    介绍一下环境: 首先需要下载一个jaxrs-ri-2.22.2.zip的包 采用Jdeveloper 12c版本,jdk1.8 WebLogic Server 12.2.1版本 Restful项目建立 ...

随机推荐

  1. 运行php程序时,浏览器跳出打开和保存提示框

    解决办法:将php.ini文件复制到 C:\Windows

  2. 实现 1像素border

    border-1px($color) position: relative &:after display: block position: absolute left: 0 bottom: ...

  3. jdeveloper优化:

    D:\jdevstudio10133\jdev\bin\jdev.conf末尾加上下面的AddVMOption -Dsun.java2d.noddraw=true AddVMOption -Dsun. ...

  4. iOS支付宝支付集成

    概述 iOS支付宝支付集成 详细 代码下载:http://www.demodashi.com/demo/10729.html 支付宝和微信都是业界的老大哥,相信大家都有所觉得文档.SDK都是各种坑吧( ...

  5. git版本库管理介绍,撤销git pull操作

    Git是分布式版本控制系统,GitHub 是最大的 Git 版本库托管商,是成千上万的开发者和项目能够合作进行的中心. 大部分 Git 版本库都托管在 GitHub,很多开源项目使用 GitHub 实 ...

  6. 转载【小程序】: 微信小程序开发---应用与页面的生命周期

    App App() App() 函数用来注册一个小程序.接受一个 object 参数,其指定小程序的生命周期函数等. object参数说明: 属性 类型 描述 触发时机 onLaunch Functi ...

  7. PHP关于进程池的优化

    本文打算从另一个角度来讨论问题,教大家如何配置高效的环境,如此同样能够达到优化的目的. pool 一个让人沮丧的消息是绝大多数 PHP 程序员都忽视了池的价值.这里所说的池可不是指数据库连接池之类的东 ...

  8. 基于docker的centos:latest镜像制作nginx的镜像

    Dockerfile和nginx.repo在同一目录下 先创建nginx.repo [root@localhost nginx]# cat nginx.repo [nginx] name=nginx ...

  9. ASP.NET#命名空间"System.Data"中不存在类型或命名空间名称"Linq"(是否缺少程序集引用?)

    添加完.dbml(LINQ to SQL类文件)文件后,双击.designer.cs源文件时,发现编译器提示:命名空间"System.Data"中不存在类型或命名空间名称" ...

  10. springmvc异常统一处理

    http://www.cnblogs.com/xd502djj/archive/2012/09/24/2700490.html