CXF、Axis2、XFire与Axis2 AAR方式的WebService发布与调用详解

需积分: 42 45 下载量 115 浏览量 更新于2024-07-21 收藏 270KB DOCX 举报
本文档主要介绍了Webservice的四种发布方式,包括CXF、Xfire、AXIS1和AXIS2,作者结合个人经验和实际问题进行了总结。以下是详细的解释: 1. CXF方式 - CXF与Spring集成是当前最流行的Webservice发布方法。然而,作者提到在与IBM WebSphere Application Server (WAS) 6.1.1版本的兼容性问题上遇到了挑战,尤其是与`wsdl4j-1.6.2.jar`的兼容性问题,导致`java.lang.IncompatibleClassChangeError`。为解决这个问题,建议创建一个WAS共享库来包含这个jar包,但这可能需要对服务器进行调整。如果不愿修改服务器,可以考虑其他方式。 2. 使用CXF+Spring搭建WebService - 需要在项目中添加特定环境下的jar包,比如在Tomcat与WAS环境下会有差异。配置web.xml文件非常重要,需要指定Spring配置文件路径和WSDL地址。 - 接口类和实现类需要正确注解,Spring配置文件可能包含`jaxws:client`标签,但也可以通过手动拼接URL进行访问。 - 发布后,直接部署到服务器,然后通过URL进行访问。 3. Xfire方式 - Xfire尽管被认为较旧,但以其简单易配置而受到青睐。但在作者遇到CXF与WAS问题时,未选择Xfire,可能是因为当时它并未提供更好的解决方案。 4. AXIS2方式 - Axis2提供了两种发布Webservice的方法,一种是通过axis2插件将其打包成aar文件并放入axis_war目录。这种方式通常用于更传统的项目结构中,适合于那些希望利用Axis2强大功能的开发者。 总结来说,选择哪种发布方式取决于项目的具体需求、团队的技术栈以及与现有系统的兼容性。作者的经验表明,在处理与特定服务器环境的兼容性问题时,CXF可能存在额外的挑战,而Xfire和AXIS2则提供了不同的轻量级或企业级的解决方案。在实际操作中,务必确保所选工具与当前开发环境和需求相匹配。