axis2服务器搭建
一. 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服务, 则发布成功
相关文章
- Python的套接字、IPv4和简单的客户端/服务器编程
- 群晖NAS搭建web服务器并公网可访问 4-4
- netty系列之:搭建客户端使用http1.1的方式连接http2服务器
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
- 不下载软件,可以把电脑本地文件快速传到远端服务器里吗?
- 如何配置 fail2ban 来保护 Apache 服务器
- Python 创建本地服务器环境生成二维码
- 服务器(Linux)查看Tomcat运行日志
- GUI软件框架--窗口服务器
- netty系列之:来,手把手教你使用netty搭建一个DNS tcp服务器
- 邮件服务器搭建注意事项
- Windows 2012 R2 DataCenter服务器 重启之后,其他加域电脑无法访问域账户
- CentOS7 搭建FTP服务器
- nodejs基础 用http模块 搭建一个简单的web服务器 响应纯文本
- 在centos服务器安装MySQL数据库详细步骤
- 1块钱30分钟利用华为云服务器配置一台云电脑并搭建一个简易网站(步步截图较详细)
- 结合jenkins在Linux服务器搭建测试环境
- MySql自制服务器
- 其它 搭建https服务器
- 分布式服务器框架之搭建C#+MongoDB+Redis初步
- Windows平台下Git(gitblit)服务器搭建