WebService之Axis2系列教程(一)Axis2的下载、安装和使用

article/2025/9/14 2:29:26

Axis2是目前比较流行的WebService引擎。WebService被应用在很多不同的场景。例如,可以使用WebService来发布服务端 Java类的方法,以便使用不同的客户端进行调用。这样可以有效地集成多种不同的技术来完成应用系统。WebService还经常被使用在SOA中,用于 SOA各个部分交换数据。本课程重点讲解了Axis2的核心功能,并提供了三个项目以使大家理解并掌握如何将Axis2应用于不同的场景。

本课程站在初学者角度介绍了Axis2的大多数常用的功能,例如:以多种方式编写和发布WebService、JAX-RPC、JAX-WS、复杂类型传输、WebService会话管理、Axis2模块等

Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。这些都将在后面的系列教程中讲解。

 

以下软件版本为本人使用版本

Myeclipse 10.0

Tomcat 6.0

Jdk 6

以下两项为myeclipse插件 (http://axis.apache.org/axis2/java/core/tools/index.html)

axis2-eclipse-codegen-plugin-1.6.0.zip

axis2-eclipse-service-plugin-1.6.0.zip

以下zip包为tomcat插件 (http://axis.apache.org/axis2/java/core/download.cgi)

axis2-1.6.0-war.zip

axis2中的jar,在客户端开发中需要用到这些jar包

axis2-1.6.0-bin.zip

 

myeclipse插件安装 (可参阅 http://blog.csdn.net/shimiso/article/details/8122596 )
将axis2-eclipse-codegen-plugin-1.6.0.zip和axis2-eclipse-service-plugin-1.6.0.zip解压
D:\Users\Administrator\AppData\Local\MyEclipse为我的myeclipse安装的根目录

将解压后的plugins中的jar包复制到myeclipse的安装目录下的common中的plugins中(只需jar包即可)如:
D:\Users\Administrator\AppData\Local\MyEclipse\Common\plugins

进入到myeclipse安装目录中的org.eclipse.equinox.simpleconfigurator中,如下:
D:\Users\Administrator\AppData\Local\MyEclipse\MyEclipse 9\configuration\org.eclipse.equinox.simpleconfigurator

用记事本打开org.eclipse.equinox.simpleconfigurator 中的bundles.info文件

项bundles.info文件中添加下面内容
org.apache.axis2.eclipse.codegen.plugin,1.6.0,file:/d:/Users/Administrator/AppData/Local/MyEclipse/Common/plugins/org.apache.axis2.eclipse.codegen.plugin_1.6.0.jar,4,false

org.apache.axis2.eclipse.service.plugin,1.6.0,file:/d:/Users/Administrator/AppData/Local/MyEclipse/Common/plugins/org.apache.axis2.eclipse.service.plugin_1.6.0.jar,4,false

启动myeclipse后 点击新建other后如果能看到Axis2 Wizards文件夹下有两个内容表示安装成功。

 

tomcat安装
将tomcat6.0解压到某个目录中,这里使用的时免安装版的

在系统环境变量中添加:
TOMCAT_HOME=D:\webservice\tomcatapache-tomcat-6.0.32
CATALINA_BASE=D:\webservice\tomcat\apache-tomcat-6.0.32
CATALINA_HOME=D:\webservice\tomcat\apache-tomcat-6.0.32

在path中添加
%TOMCAT_HOME%/lib

在浏览器中输入http://localhost:8080看到tomcat的主页说明安装配置成功

 

解压axis2-1.6.0-war.zip后得到一个axis2.war的文件,将该文件复制到D:\webservice\tomcat\apache-tomcat-6.0.32\webapps目录下

启动tomcat,之后会自动生成一个axis2的文件夹,该文件夹在D:\webservice\tomcat\apache-tomcat-6.0.32\webapps下

在浏览器中输入http://localhost:8080/axis2/看到

说明axis2 web服务器搭建成功
到此开发环境搭建完成.

 

服务器端发布
启动myeclipse新建一个java工程
写一个服务器端的类向客户端返回一个字符串

package com.test;public class Test {public String server(String name){return "Hello " + name;}
}


进行打包:
1在当前项目上右击 选择export

 

选择当前项目并且点击browse选择jar的输入目录和输入生成的jar包文件名称

点击finish 完成jar包打包


打包arr
在该项目上右击newotherAxis2 WizardsAxis2 Service Archiver

 

选择arr包得输入目录,点击next

 

选择skip wsdlnext

点击brows 选择前面已经打包好jar包,点击addànext

选中复选框next

 

输入自己的定的servername,输入完整Class名点击load,下面出来该类中的所有方法,如果选中,就会发布此方法,客户掉便可以调用

nextbrowse选择output file location,选择arr文件的数据路径,输入arr文件的名称,点击finish完成。

 

发布arr,将打包好的arr文件复制到D:\webservice\tomcat\apache-tomcat-6.0.32\webapps\axis2\WEB-INF\services目录下,重新启动tomcat,在浏览其中输入http://localhost:8080/axis2,点击service进入如下界面

 

可以看到testAxis(在打包arr时自定义的名称)点击testAxis可以查看xml,表示发布成功,可以在客户端进行调用。

 

客户端,新建一个java工程,编写客户端代码
右击newother Axis2 WizardsAxis2 Code Generatornext

 

选择第一个单选按钮next

 

在浏览器中输入http://localhost:8080/axis2 -->选择services-->testAxis,进入一个xml界面,复制浏览器中地址(http://localhost:8080/axis2/services/llspServer?wsdl),粘贴到WSDL file location中,点击next

保持默认,next

 

选择客户端的工程,output path的值是新建的这个客户端的工程,nextokfinish

 

在myeclipse界面中的package explorer窗口中可以看到新建的testAxis工程自动生成了一个包,包名是服务器端工程的包名,目前有很多错误,是因为没有导入jar包,导入jar,首先解压axis2-1.6.0-bin.zip,将lib中的所有jar导入到客户端工程中

在axisClient工程中新建一个类Test

import java.rmi.RemoteException;
import com.test.Server;
import com.test.TestAxisStub;public class TestClient {public static void main(String args[]) throws RemoteException{//首先新建一个stub的对象(桩)TestAxisStub tas = new TestAxisStub();//实例化服务端的方法的对象Server s = new Server();//为server方法设置参数s.setName("john");//执行该方法,并且接受返回值String str = tas.server(s).get_return();System.out.println(str);}
}


开启tomcat,运行Test.java,得到服务器返回的值。

 

 

教程源码下载:

AxisTest

AxisSpring

AxisProject

 

 

转载请标明出处http://blog.csdn.net/shimiso 

欢迎有识之士加入我们的技术交流群:361579846


http://chatgpt.dhexx.cn/article/k4wNF9sD.shtml

相关文章

Axis2 webservice学习总结

一、学习课件目录: Axis2(WebService)培训资料1 - 百度文库 (baidu.com) WebService大讲堂之Axis2 - 百度文库 (baidu.com) 二、学习总结: Web Service是构建互联网分布式系统的基本部件,它是一个应用程序,它向外界暴露出一个…

小白轻松使用axis2构建webservice

引言: 使用axis2是来实现webservice接口是比较常见的,就我来说,如果要学一个首次接触东西,简单了解相关基础概念后,就希望自己能够简单快速的实现一个例子,在学习一门开发语言的时候,一个hello…

模板引擎 Velocity语法

Velocity是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用 由java代码定义的对象。作为一个比较完善的模板引擎,Velocity的功能是比较强大的&…

velocity 模板语法

velocity 模板语法 前言1. 访问1.1 变量1.2 属性1.3 方法 2. 指令2.1 #set 创建变量2.2 #if/#elseif/#else 分支控制2.3 #foreach 循环控制2.4 #include - 引入本地文件,文本展示2.5 #parse - 引入本地文件,velocity 解析后展示2.6 #stop - 停止模板解析…

finalize() 原理

finalize 方法的作用是: 如果对象在进行可达性分析后发现没有与 GC Roots 相连接的引用链,那他将会被第一次标记并且进行一次筛选,筛选的条件是此对象是否有必要执行 finalize 方法。 注意:当对象没有覆盖 finalize 方法&#xf…

finalize()

注:本文的目的并不是鼓励使用finalize方法,而是大致理清其作用、问题以及GC执行finalize的过程。 1. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。fina…

java finalize方法详解

1. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。finalize()与C中的析构函数不是对应的。C中的析构函数调用的时机是确定的(对象离开作用域或delete掉)&…

java中finalize()方法

finalize 垃圾回收机器(Garbage Collection),也叫GC,垃圾回收器主要有一下特点: 当对象不再被程序所使用的时候,垃圾回收器将会将其回收垃圾回收是在后台运行的,我们无法命令垃圾回收器马上回收资源&…

Finalize详解

finalize()方法详解,前言,finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。 finalize的作用: (1)finalize()与C中的析构函数不是对应的。C中的析构函数调用的时机是确定的…

finalize的理解

finalize的理解 一般的回答:它是Object中的一个方法,子类重写它,垃圾回收时候方法会被调用,可以再其中进行一些资源的解释和清理工作。 优秀的回答:将资源的释放和清理放在finalize方法中是非常不好的,影…

Java FX swt_DOC-13-08 JavaFX与SWT的协作性

DOC-13-08 JavaFX与SWT的协作性 本章展示了如何在SWT应用程序中加入一个JavaFX场景图,以及如何使SWT和JavaFX控件协作。 介绍 如果你开发SWT应用程序,你知道SWT使用本地操作系统的控件,而且并不能简单的配置来使用高级GUI特性,比如…

Java SWT 表格Table如何动态显示信息

让Table显示信息用到的是TableItem类。创建一个TableItem类对象,通过调用该对象的setText( new String[ ] )方法可以显示一行数据,循环调用则可以显示多条不同的数据。 一、步骤: 1. 创建Table类 。最好将Table类设置为全局变量。并且设置该表格有多少列…

Java ——SWT利用DateTime获取日历控件

1、话不多说,先看效果图: 19是我选择的日期,其他功能就不一一介绍了,这个看你们自己。 2、Test01界面: Test01代码如下: package test; import org.eclipse.swt.widgets.Display; import org.eclipse.swt…

shell swt 样式_SWT之路:SWT图像显示

简明现代魔法 -> Java编程语言 -> SWT之路:SWT图像显示 SWT之路:SWT图像显示 2009-10-03 程序演示 还是先用SWT Desiner创建界面程序。然后创建一个Display对象和Image对象,和一个GC对象。类org.eclipse.swt.graphics.GC是一个封装了所…

eclipse java swt_Eclipse下搭建SWT开发环境

0.序言 还是老风格,从头写些基本的东西,帮助自己,也帮助正处于困惑中的别人。今天介绍的是Eclipse下的SWT的配置过程。自己前两天要做个项目,配置了半天都不正确,后来慢慢总结了一下,不同环境配置的方法可能…

java swt button_JAVA.SWT/JFace: SWT基本组件之按钮(Button)

《Eclipse SWT/JFACE 核心应用》 清华大学出版社 5.2 按钮(Button) 按钮有普通按钮(SWT.PUSH)、单选按钮(SWT.RADIO)、多选按钮(SWT.CHECK)、箭头按钮(SWT.ARROW)和切换按钮(SWT.TOGGLE)几种类型。 同时,也可以设置按钮的样式。设置按钮文字对齐的样式有SWT.LEFT、S…

Java SWT 表格Table实时刷新数据

一、动态展示数据 当对表格展示的数据进行删除和增加的时候,想实时进行表格数据更新显示。用到的方法是,首先将表格数据全部删掉,然后在读取数据库最新的数据显示到表格中。  可以将显示表格信息的代码封装成一个方法,当对当前表…

Java SWT封装Table显示数据

一个表格就类似于一张二维表。第一行为关系模型,就是每一列的列名。从第二行开始就是表的数据,简称元组。下面实现对其Table的封装。 首先显示一个窗口。创建一个Table。将在showTableInfos()方法对Table表格进行封装。 import org.eclipse.swt.widgets.…

SWT控件总结

控件palette 1.System Choose component 选择组件:允许选择组件类型并将其拖放到设计画布上 Tab Order标签的顺序:设置所选选项卡顺序 2.Composites Composite 复合:能够包含其他控件的控件 Group 集团:提供带有可选标题的蚀…

SWT和JFace应用笔记

SWT和JFace应用笔记 链接:https://pan.baidu.com/s/1To4Lhgan4xEr1iaFA0Rerg 提取码:63qm 1.SWT笔记 一.创建一个SWT程序有3个部分 1.初始化窗口:首先创建Dispaly对象和Shell对象。Display:对象封装了调用操作系统的有关方法Shell&#xf…