一. axis2服务器搭建

简单起见, axis2r搭建采用较为简单的一种方式, 即将服务类和services.xml打成.aar包发布.

1. 下载部署axis2

http://axis.apache.org/axis2/java/core/

这里选择下载的1.7.0版本, axis2-1.7.0-war.zip

2. 将zip文件中的axis2.war包解压到tomcat的webapps目录中, 启动tomcat,

完成axis2的安装部署, 如下图:

3. 访问 http://localhost/axis2 显示如下页面, 表示axis2部署成功

4. 访问 http://localhost/axis2/services/listServices , 可查看此axis2所发布的webservice服务, 如下图:

其中, Version为axis2默认发布的服务, getVersion是此服务的方法

二. 编写发布webserivce接口

1. 新建java项目myAxis2

2. 创建服务类HelloShooter.java

 1 package com.shooter.webservice;
2
3 public class HelloShooter {
4
5 public void getShooterId(String shooterId) {
6 System.out.println("狙击手编号: " + shooterId);
7 }
8
9 public String shoot(int num) {
10 return "本次出击共狙击 " + num + " 名敌军";
11 }
12
13 public String undershoot() {
14 return "脱靶, 很遗憾!";
15 }
16
17 }

3. 新建META-INF目录, 并创建services.xml文件

services.xml源码如下:

 1 <serviceGroup>
2 <!-- 第一个webservice服务 -->
3 <service name="HelloShooter" targetNamespace="http://sharp-shooter">
4 <!-- 命名空间 -->
5 <schema schemaNamespace="http://sharp-shooter" />
6 <!-- 发布的服务类全路径 -->
7 <parameter name="ServiceClass">com.shooter.webservice.HelloShooter
8 </parameter>
9 <!-- 对每个方法配置处理器 -->
10 <operation name="getShooterId">
11 <messageReceiver class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
12 </operation>
13 <operation name="shoot">
14 <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
15 </operation>
16 <operation name="undershoot">
17 <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
18 </operation>
19 </service>
20 </serviceGroup>

另一种services.xml编写方式, 配置全局处理器, 但此种方法我没有成功过, 如哪位测试成功了, 交流一下

 1 <serviceGroup>
2 <!-- 第一个webservice服务 -->
3 <service name="HelloShooter" targetNamespace="http://sharp-shooter.com">
4 <!-- 命名空间 -->
5 <schema schemaNamespace="http://sharp-shooter.com" />
6 <!-- 发布的服务类全路径 -->
7 <parameter name="ServiceClass">com.shooter.webservice.HelloShooter</parameter>
8 <messageReceivers>
9 <!--有返回值的处理器-->
10 <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
11 class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
12 <!--无返回值的处理器-->
13 <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
14 class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
15 </messageReceivers>
16 </service>
17 </serviceGroup>

其中,

1) service元素的name属性为服务名称, 如果没有设置此属性, 那么服务名称为发布包名, 如发布包为shooter.aar, 则服务名为shooter

2) schema配置的为命名空间, 并在service元素中配置同样的命名空间

3) parameter name="ServicesClass"配置的为服务类的全路径

4) 处理器, 第一种方式为全局处理器, 第二各方式为为某个方法配置所需要的处理器

4. 创建.aar包

1) 使用myeclipse的导出功能, 导出编写的服务类和services.xml文件为jar包, 如图:

可去除不必要的文件.

2) 修改包扩展名为.aar

3) 将.aar包拷贝到...\apache-tomcat-6.0.35-80\webapps\axis2\WEB-INF\services目录中(自动部署), 完成服务端发布

4) 访问 http://localhost/axis2/services/listServices , 服务页面显示HelloShooter服务, 则发布成功

axis2服务器搭建的更多相关文章

  1. Git本地服务器搭建及使用详解

    Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...

  2. ​Linux下的SVN服务器搭建

    ​Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...

  3. 版本控制-svn服务器搭建和常用命令(centos 6.3)

    Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...

  4. 版本控制-Git服务器搭建和常用命令使用

    Git是目前世界上最先进的分布式版本控制系统(没有之一).使用Svn的请参考<版本控制-svn服务器搭建和常用命令(centos 6.3)>,下面介绍Git的常用命令 常用命令 简单版 升 ...

  5. JAVA服务器搭建之问题总结

    负责维护公司产品的web服务器搭建与维护,最近遇到一下状况,今天在这里简单总结一下,希望对于刚刚一些刚入行的小伙伴有所帮助,避免再走弯路. 第一点:Tomcat内存设置: 一.常见的Java内存溢出有 ...

  6. 烂泥:Postfix邮件服务器搭建之虚拟用户配置

    virtual_gid_maps = static: virtual_transport = dovecot dovecot_destination_recipient_limit = 1 注意:po ...

  7. Centos vsftpd服务器搭建

    Centos vsftpd服务器搭建 时间:2016-07-18 1.最为简单的vsftpd服务器搭建 1.安装vsftpd 1.yum 安装 yum install vsftpd 2.rpm文件安装 ...

  8. Linux下的SVN服务器搭建

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...

  9. SVN服务器搭建和使用(三)

    SVN服务器搭建和使用(三) 接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等. 添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文 ...

随机推荐

  1. 【转载】jmeter将上一个接口返回值作为下一个接口的请求参数

    第一:通过JSON Extractor 插件来提取JSON响应结果 原文地址:http://blog.csdn.net/dreamtl/article/details/68957122 接口响应结果, ...

  2. HDU1069 - Monkey and Banana【dp】

    题目大意 给定箱子种类数量n,及对应长宽高,每个箱子数量无限,求其能叠起来的最大高度是多少(上面箱子的长宽严格小于下面箱子) 思路 首先由于每种箱子有无穷个,而不仅可以横着放,还可以竖着放,歪着放.. ...

  3. Java 实现邮件发送功能

    1.新建model SendMail.java import java.util.Properties; public class SendMail { // 发送邮件的服务器的IP和端口 priva ...

  4. C# 利用 Time 组件实现 Button 控件的长按功能

    参考链接:https://blog.csdn.net/yongh701/article/details/50134379 如果在C#窗体,单纯点击按钮,之后将鼠标长时间放在这个按钮上,不放开,双击按钮 ...

  5. git 强制pull

    git fetch --all git reset --hard origin/master git pull

  6. session_start() [function.session-start]:

    我在学习PHP的,当我尝试做在session_start() - 获取有关错误信息不能发送会话cookie. 我看到在这个问题上前面的问题,可是,仍然不能确定我的错误. 假设是错误家伙? <? ...

  7. HDU 3934

    /*这是用的有旋转卡壳的思想. 首先确定i,j,对k进行循环,知道找到第一个k使得cross(i,j,k)>cross(i,j,k+1),如果k==i进入下一次循环. 对j,k进行旋转,每次循环 ...

  8. 【微信小程序】:小程序,新场景

    前言: 我们频繁进入的地方,是场景. 手机.是场景:浏览器.是场景.事实上,微信,也是场景-- 微信要做的是占领很多其它用户时间.占领很多其它应用场景.占领很多其它服务入口.这是商业本质想去垄断要做的 ...

  9. 关于PHP浮点数之 intval((0.1+0.7)*10) 为什么是7

    PHP是一种弱类型语言, 这样的特性, 必然要求有无缝透明的隐式类型转换, PHP内部使用zval来保存任意类型的数值, zval的结构如下(5.2为例): struct _zval_struct { ...

  10. hdoj--1150--Machine Schedule(最小点覆盖)

    Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...