我理解的axis与axis2的差别

很多人看了我这个帖子,就找我询问webservice的问题。实在抱歉的很,我自从2007年兴趣接触了一点axis之后,再也没有细致的做过一次webservice的具体编程,所以让很多朋友失望了,在此道歉。如果有java方面的其他问题可以交流,webservice我连皮毛都没抓住。

 

----------------------------------------------------

axis与axis2的异同

1 服务端java代码的开发没有任何差别
2 服务端的差别是axis的服务标志文件是web-services.xml,而axis2的标志文件是services.xml,另外xml格式也不同。具体样本如下:
axis:
<?xml version="1.0" encoding="UTF-8"?>
<web-services>

  <web-service protocol="http" useSOAP12="false" targetNamespace="http://www.jtv.com.cn" name="MyWebService" style="rpc" uri="/MyWebService">
    <components>
      <java-class name="MyWebService" class-name="mywsdemo.MyWebService">
      </java-class>
    </components>

    <operations>
      <operation method="*" component="MyWebService">
      </operation>
    </operations>

  </web-service>
</web-services>

 

axis2:
<service name="TestService" scope="application">
    <description>
        myTestService
    </description>
    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
                         class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
                         class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </messageReceivers>
    <parameter name="ServiceClass" locked="false">TestService</parameter>

</service>

可以看到差别还是挺大的。

3 发布文件的区别。axis是可以基于app模式发布的,但是app里面包装了war包的方式来发布(这个不太确定是否必须如此),web-services.xml需要放置在WEB-INF目录下。而axis2中是可以不基于web的,services.xml需要放置在aar(axis archive)的manifest目录下。

4 服务发布到web服务器后,获取wsdl的方式一样。都是在url+ws别名+"?wsdl"即可得到。不过我测试axis是在weblogic上进行,WSDL需要大写,而测试axis2时是在tomcat上,wsdl需要小写。不知是否有此规定?


5 调用WSDL2Java生成的客户端java代码文件不同。
在axis中,生成的文件有Locator类及其接口(定义获取PortType的方法)、PortStub类及其接口(该接口模拟了web服务的方法)类4个java文件(指在最基本的ws服务中),测试类的调用方式是通过Locator得到PortStub的实例。
在axis2中,生成的文件只有2个()但是使用了内部类。分别是CallbackHandler抽象类和Stub类(很多内部类)。测试类直接调用stub的实例即可。


以上只是表面上的些许差别,并且也不是很细致,因为我自己也没弄明白这些东西。实际应用中如果大规模的采用webservice的方式而采用wsdl2java生成客户端代码大概不可取吧,因为如果wsdl发生改变都要重新生成肯定不太好。如果手工实现,那么xml消息体的解析封装等还有很大量的工作可以学习哦!

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Axis2 是一个流行的开源的 Web 服务框架,它提供了一个简单而强大的方式来构建和部署 Web 服务。由于其灵活性和功能丰富的特性,许多开发者都希望学习并掌握 Axis2 的使用。为了满足这一需求,许多教育平台和个人博客都提供了 Axis2 的视频教程。 Axis2 视频教程通常包括以下内容:介绍 Axis2 的基本概念和架构,演示如何安装和配置 Axis2 环境,创建和部署简单的 Web 服务,以及如何利用 Axis2 的高级特性来实现复杂的功能。通过视频教程,观众可以清晰地看到操作过程,更容易理解和掌握 Axis2 的使用方法。 值得注意的是,由于 Axis2 是一个功能强大且复杂的框架,因此视频教程通常会以模块化的方式展示,每个视频都会重点介绍一个特定的主题或功能。这样可以使学习者更有针对性地选择他们感兴趣的内容进行学习,并且便于反复观看和复习。 除了基本的概念和操作指南,一些视频教程还会提供实际的案例分析和实战演练,帮助学习者将理论知识应用到实际项目中。这种实践性的学习方式更有利于学习者的掌握和运用。 总之,Axis2 视频教程为学习者提供了一个高效、直观的学习途径,帮助他们快速入门并掌握 Axis2 的使用技巧。希望学习者能够通过视频教程的学习,掌握 Axis2 的核心概念和高级功能,为自己的技术能力提升打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值