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服务, 则发布成功

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值