一、使用AXIS2 1.4根据WSDL分别生成服务端代码
例:
1)生成多个用户信息查询服务端代码:
wsdl2java -uri MultipleUserInfoQuery.wsdl -ss -sd -g -ns2p http://www.test.com/schema/MultipleUserInfoQuery/=com.test.demo.userinfo.multiple,http://www.test.com/schema/MultipleUserInfoQuery/type=com.test.demo.userinfo.multiple.type
2)生成单个用户信息查询服务端代码:
wsdl2java -uri SingleUserInfoQuery.wsdl -ss -sd -g -ns2p http://www.test.com/schema/SingleUserInfoQuery/=com.test.demo.userinfo.single,http://www.test.com/schema/SingleUserInfoQuery/type=com.test.demo.userinfo.single.type
二、新增接口
增加一个都支持查询的接口,将两个接口合并为一个接口,示例代码如下:
public interface IUserInfoQuery { public com.test.demo.userinfo.single.QuerySingleUserInfoResponse querySingleUserInfo( com.test.demo.userinfo.single.QuerySingleUserInfo querySingleUserInfo); public com.test.demo.userinfo.multiple.QueryMultipleUserInfoResponse queryMultipleUserInfo( com.test.demo.userinfo.multiple.QueryMultipleUserInfo queryMultipleUserInfo); }
三、 合并两个服务的***MessageReceiverInOut.java类
这一步是最关键的一步操作,如果能合并成功,这个功能基本上就实现了。
示例操作如下:
1):将IMultipleUserInfoQueryMessageReceiverInOut.java复制到all包下,将名称改为:
IUserInfoQueryMessageReceiverInOut.java
2):IMultipleUserInfoQuerySkeleton skel = (IMultipleUserInfoQuerySkeleton) obj;;改为:
IUserInfoQuery skel = (IUserInfoQuery) obj;
3):在invokeBusinessLogic方法中将ISingleUserInfoQueryMessageReceiverInOut.java类
invokeBusinessLogic方法中if ("querySingleUserInfo".equals(methodName))语句包含的
内容合并到IUserInfoQueryMessageReceiverInOut.java中。
4):根据错误提示,复制相应的方法即可;
四、配置服务
将生成的Service.xml配置文件合并成一个,然后在添加一个都支持的配置文件,都支持的配置示例如下:
<!-- 都支持配置 --> <service name="UserInfoQuery"> <messageReceivers> <!-- 配置新增的***Inout --> <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="com.test.demo.userinfo.all.IUserInfoQueryMessageReceiverInOut"/> </messageReceivers> <!-- 配置完成该功能的实现类 --> <parameter name="ServiceClass"> com.test.demo.userinfo.all.UserInfoQueryImpl </parameter> <parameter name="useOriginalwsdl">true</parameter> <parameter name="modifyUserWSDLPortAddress">true</parameter> <operation name="queryMultipleUserInfo" mep="http://www.w3.org/ns/wsdl/in-out" namespace="http://www.test.com/schema/MultipleUserInfoQuery/"> <actionMapping> http://www.test.com/schema/MultipleUserInfoQuery </actionMapping> <outputActionMapping> http://www.test.com/schema/MultipleUserInfoQuery/MultipleUserInfoQuery/queryMultipleUserInfoResponse </outputActionMapping> </operation> </service>
相关推荐
总结来说,Spring集成Axis2实现Web服务涉及到Spring的IoC容器、服务的创建和发布、以及客户端的调用等多个环节。了解并掌握这些知识点,对于开发高质量的Web服务应用至关重要。在实际项目中,务必确保所有必要的库...
在IT行业中,开发Web服务是常见的任务,而Axis2和Spring框架的整合为开发者提供了强大的工具来实现这一目标。本文将深入探讨如何利用这两个技术来发布多个WebService,并着重讲解项目管理和整合过程。 首先,让我们...
而会话管理方面,Axis2支持传统的会话管理,以及在多个服务之间共享和管理会话状态。 另外,Axis2还可以将Spring框架管理的JavaBean发布为WebService,这为Java开发者提供了更多的便利性和灵活性。在异步调用方面,...
通过仔细阅读这些文档,开发者可以掌握如何使用Axis或Axis2来创建符合WS-I标准、高性能的Web服务,以及如何调试和优化服务。 总之,Axis和Axis2是Java Web服务开发的关键工具,它们提供了丰富的API和文档来支持开发...
- JAX-WS(Java API for XML Web Services):Java中的Web服务开发API,Axis2是其一个实现。 在实际应用中,开发人员可能需要配置Axis2服务器,创建和部署Web服务,处理服务调用,集成其他框架(如Spring),或者...
1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境(IDE)中支持Axis2服务的插件...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方式,而Axis2是Apache软件基金会开发的一个流行的Java Web服务框架。Spring框架则是Java企业级应用的事实标准,提供了强大的依赖注入、AOP(面向切面编程)等...
Axis2 包含了处理SOAP消息、管理服务和服务容器等多个模块,这些模块以aar(Axis Archive)格式打包,方便部署和管理。 标题中提到的"axis2包",实际上是一组支持Web服务开发的库文件,包括但不限于以下功能: 1. ...
4. **多语言支持**:Axis2不仅支持Java,还支持其他语言如C和PHP,实现了跨平台的Web服务开发。 5. **高级缓存机制**:通过缓存机制,Axis2能有效地减少网络传输,提高响应速度。 6. **部署灵活性**:Axis2支持...
Seasar2是一个全面的Java应用框架,它包含了诸如数据库访问、事务管理、权限控制等多方面的功能,而Axis2则是Apache组织提供的一个强大的Web服务引擎,它支持SOAP、RESTful等多种通信模式。将这两者结合,我们可以...
Axis分为两个主要版本:Axis1.x和Axis2.x,它们都是Java平台上的Web服务实现,但在设计和功能上有所不同。 Axis1.x是较早的版本,它在Web服务领域有着广泛的应用。Axis1.x基于Servlet API,提供了SOAP消息处理和...
综上所述,这个主题涵盖了从基础理论到实践技巧的多个方面,对于希望使用Java构建Web服务并有效管理会话的开发者来说,是一个重要的学习资源。通过学习这些知识点,开发者可以提升其在企业级Web服务开发中的专业技能...
总的来说,"axis2最新使用包"为开发者提供了一个方便的工具集,以帮助他们快速地开发和部署基于Web服务的应用。熟悉Axis2的基本概念和操作流程,对于任何想要利用Web服务进行系统集成或构建分布式应用的开发者来说都...
标题中的"axis2-1.6.2.zip"指的是Axis2的1.6.2版本的压缩包,这个版本发布于2010年,包含了 Axis2 的所有组件和必要的库文件,用于在Java环境中开发和运行Web服务。 Axis2的核心特性包括: 1. **模块化架构**:...
Axis2是Apache软件基金会开发的一个开源Web服务框架,主要用于构建高度可扩展且模块化的Web服务。这个框架基于SOAP(简单对象访问协议)和WS-*(Web服务*规范集),为开发者提供了一种高效且灵活的方式来创建和部署...
通过对Axis与Axis2在使用WSDL2Java工具时的不同之处的详细探讨,我们可以看到,虽然两种工具都实现了相似的功能,但Axis2在很多方面都进行了优化和改进,尤其是在命令行参数、部署描述文件生成以及数据绑定等方面。...
1. **服务创建**:如何使用Axis2生成服务,包括编写服务接口和服务实现,以及如何将它们部署到Axis2环境中。 2. **服务调用**:了解如何使用Axis2客户端工具或编程方式来调用Web服务,包括同步和异步调用模式。 3....
在描述中提到的“之前公司用了webservice搞了好就 写了好几种”,这可能意味着使用Axis2来实现不同类型的Web服务接口,或者在不同的项目中进行了多次的Web服务开发。 **标签:** 1. **Java** - Axis2是基于Java...
Axis2是Apache基金会的一个开源项目,它是一个高效且灵活的Web服务引擎,能够方便地在Java平台上创建和消费Web服务。 1. **Axis2简介**: Axis2是Apache Axis的第二代版本,提供了更高级的功能,包括模块化架构、...