WebService之Axis2系列教程(一)Axis2的下载、安装和使用
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
在该项目上右击newotherAxis2 WizardsAxis2 Service Archiver
选择arr包得输入目录,点击next
选择skip wsdlnext
点击brows 选择前面已经打包好jar包,点击addànext
选中复选框next
输入自己的定的servername,输入完整Class名点击load,下面出来该类中的所有方法,如果选中,就会发布此方法,客户掉便可以调用
nextbrowse选择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工程,编写客户端代码
右击newother Axis2 WizardsAxis2 Code Generatornext
选择第一个单选按钮next
在浏览器中输入http://localhost:8080/axis2 -->选择services-->testAxis,进入一个xml界面,复制浏览器中地址(http://localhost:8080/axis2/services/llspServer?wsdl),粘贴到WSDL file location中,点击next
保持默认,next
选择客户端的工程,output path的值是新建的这个客户端的工程,nextokfinish
在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
WebService之Axis2系列教程(一)Axis2的下载、安装和使用相关推荐
- EWSTM8系列教程01_IAR介绍、下载、安装和注册
推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!https://www.cnblogs.com/captainbed 正文: IAR最新全套 ...
- YDOOK:putty: 最新版 putty 下载安装完整教程,windows怎么下载安装 putty?
YDOOK:putty: 最新版 putty 下载安装完整教程,windows怎么下载安装 putty? 1. 搜索或者直接点击进入 putty 的官网: putty 的官网 2. 第二行即显示最新版 ...
- 2021年最新最全Flink系列教程_Flink快速入门(概述,安装部署)(一)(JianYi收藏)
文章目录 引言 相关教程直通车: day01_Flink概述.安装部署和入门案例 今日目标 Flink概述 什么是批处理和流处理 为什么需要流计算 Flink的发展史 Flink的官方介绍 Flink ...
- 王姨劝我学HarmonyOS鸿蒙2.0系列教程之四Git搭建下载实例!
原创PDF |<Android 深入系统完全讲解>免费开源,可能价值百万! 王姨劝我学HarmonyOS鸿蒙2.0系列教程之三Ability概述&&调用方法! 相信大家看了 ...
- unity2d游戏开发系列教程:一、环境安装
从这篇文章开始,一步一步教大家从0开始通过2DGameKit项目进行2D游戏开发 第一步.环境安装 1.先使用手机下载Unity Connect并注册登陆 2.进入unity官网https://uni ...
- 【2】青龙面板入门系列教程之宝塔面板的安装以及docker的安装
说明: 作者从纯纯的新手一步一步搭建了自己的青龙面板,所以教程内容会尽可能的详细,网上各样的教程不少,但都比较跳跃,我会把每一步的作用都写清楚,如果文中有错误之处,也欢迎指出. 由于一系列调整,ck目 ...
- 史上最详细的Android Studio系列教程(一)--下载和安装
原文链接:http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1/ 背景 相信大家对Android Studio已经不陌生 ...
- ubuntu1704入门教程(一)下载安装
` `很早很早以前,就听说过linux的大名了,但是只是膜拜,一直没有去learning,现在用到了,才会去下载安装,现在,讲一下我遇到的坑. ` `新手什么都不会,什么都不懂,人也比较笨,所以还是不 ...
- Skynet服务器框架系列教程,skynet 服务端框架安装/运行
在linux服务器上 1 下载 skynet 源码:https://github.com/cloudwu/skynet 解压 2 安装编译插件autoconf , readline-devel ...
最新文章
- 神器!3小时复现 Alexnet 和 word2vec!
- 1. 自然语言处理描述
- 利用ajax.dll进行Ajax的开发2007-07-15 15:38
- Distributed TensorFlow
- mysql 5.1.73路径_centos7.2 环境下 mysql-5.1.73 安装配置
- hdu 2871 Memory Control(线段树)
- python:使用SWIG和setuptools编写c语言扩展(windows)
- ls实现列文件按时间排序
- c++判断奇偶_第十一届(今年)蓝桥杯省模拟赛 试题+源码 C/C++详解
- android Service Binder交互通信实例
- Java多个pdf文件合并一个pdf(多页)
- sql oracle 退格键,Oraclesqlplus中方向键、退格键的使用是怎样的? 爱问知识人
- Validation and Data leakages
- sketchup 图片转模型_紫天学习星球教学:如何在SU里把JPG图片变成三维模型
- 计算机中级职称能转评讲师,职称评审中的转评问题
- OpenJudge-021:鸣人和佐助
- 高通平台Android源码bootloader分析之sbl1(一)
- 【蓝桥杯省赛真题36】Scratch三国演义字数统计 少儿编程scratch编程蓝桥杯省赛真题讲解
- “穷苦乡村”小伙就得安于现状,2021必看
- android 添加点击声音,Android如何为按键添加声音
热门文章
- Java基础教程17-方法简介
- 【新概念4】【1】Finding fossil man
- ca i啊几次哦啊句iu家哦历史1
- 【C语言】C语言里面的冒号
- Cannot read properties of undefined (reading ‘parentNode‘)
- 塞氏盘法测水体透明度
- RPMforge(Repoforge)源
- java 泛型 t extends_Java 之泛型通配符 ? extends T 与 ? super T 解惑
- js生成guid32位
- R-数据加载(csv,excel,txt,rdata,spss,stata)