Axis2 介绍

1.  从官网apache.org上下载:


axis2-1.6.2-war.zip成功解压后,把包含的axis2.war包放置TomCat的webapps目录下即可,然后启动TomCact(本文所使用的Web容器)输入:http://IP:PORT/axis2/即表示Axis2安装成功。


2. 编写与发布属于你的第一个0配置的Service服务

既然都已经成功安装好Axis2了,接下来我们要做的事情就是开始编写及发布我们的Service服务了,打开你的eclipse,新建一个工程,然后随便写个POJO

public class Myservice {
public String getName() {
return "My Webservice Axis2";
}

}

仅仅只是包含一个简单的返回值为String的getName()方法,没错,就这么简单。接下来如何将这个简单的方法发不成WebService方法呢???这其实不难,你只需要将该源文件的字节码(.class)文件拷贝至<TomCat安装目录>\webapps\axis2\WEB-INF\POJO中即可(如果没有POJO目录则自己新建)。

当发布成功后,我们可以打开浏览器输入http://localhost:8888/axis2/services/listServices便可以看见我们发布的Service方法了:


注意看,Service的名称就是咱们的类名,而该Service中所包含的方法就是咱们的getName()方法。

通过点击Service名称连接,你可以查看详细的WSDL文件,那么什么是WSDL呢???简单来说WSDL(Web Services Description Language),是一个用来描述Web服务和说明如何与Web服务通信的XML语言。我们可以在WSDL文件中来测试我们发布的Service方法,输入http://localhost:8888/axis2/services/MyService/getName


3.  如果pojo带包了,就不要放在POJO目录下了

想要将带包的POJO顺利发布成Service,那么必不可少的条件就是需要services.xml文件,因为该文件描绘与类的关系结构

你首先需要在工程目录下新建一个\META-INF\文件夹,然后新建一个service.xml文件即可。

  1. <span style="font-size: small;"><?xml version="1.0" encoding="UTF-8"?>  
  2. <!-- Service名称 -->  
  3. <service name="myService">  
  4.     <!-- Service描述 -->  
  5.     <description>  
  6.         登陆效验Service  
  7.     </description>  
  8.     <!-- 描绘包与类的关系结构 -->     
  9.     <parameter name="ServiceClass">  
  10.         org.johngao.service.LoginValidate  
  11.     </parameter>  
  12.     <!-- 定义方法处理器 -->  
  13.     <messageReceivers>  
  14.         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"  
  15.             class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />  
  16.         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"  
  17.             class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
  18.     </messageReceivers>  
  19. </service></span>  
上述文件中<service/>标签描绘了你的Service结构,但一个<service/>标签仅用于描绘一个POJO,其中属性name则定义了目标Service的名称。<description/>标签用于描绘该Service的作用。<parameter/>标签比较关键,描绘了 POJO与包的结构关系, 然后通过反射的形式进行加载调用。而<messageReceivers>标签则尤为 重要 ,该标签定义了Service的 方法处理器 ,什么是方法处理器呢?或许这个名字比较绕口,但理解起来还是挺容易的,换句话来说方法处理器可以理解为对 方法返回结果的管理 。因为我们所发布的Service方法并不一定每一个都是具备返回值。假设你的Service并无返回值,那么你可以选择 RPCInOnlyMessageReceiver(输入处理器) 类作为你的方法处理器,反之可以选择 RPCMessageReceiver(输入输出处理器) 类作为你的方法处理器。

如果你在services.xml文件中需要发布多个Service,那么你可以使用<serviceGroup/>标签:

 

Java代码   收藏代码
  1. <span style="font-size: small;"><serviceGroup>  
  2.     <service>  
  3.         <!-- 第一个Service -->  
  4.     </service>  
  5.     <service>  
  6.         <!-- 第二个Service -->  
  7.     </service>  
  8. </serviceGroup></span>  

 

 

接下来要做的事情就是你最期待的,那便是将带包的POJO发布成Service进行调用。当然你选择使用service.xml文件的形式发布Service,首先则必须将项目打包成".aar"文件(也就是".jar")。你可以先将项目打包成jar,然后再将文件后缀改变为aar即可,当然不改也行,只是为了遵循Axis2的规范,笔者还是建议你将文件后缀改成aar。

这里笔者需要提醒你的是,在将项目打包时,你只需要选择\META-INFA\service.xml即可,字节码文件不需要一起打包:

 

 

接下来我们需要将打包好的aar文件放置在\axis2\WEB-INF\services\目录下。当然这样还并没有结束,你还需要将项目的字节码文件放置在\axis2\WEB-INF\classes\目录下,或者以jar包的形式放置在\axis2\WEB-INF\lib\目录下都可以。当然笔者还是选择将字节码文件放置在classes目录下。

 

启动你的Web容器,输入http://ip:port/axis2/services/listServices进行访问:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值