`
wujingenli
  • 浏览: 91857 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

使用AXIS2实现多个服务

    博客分类:
  • JAVA
阅读更多

一、使用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实现webservice所用到的包

    总结来说,Spring集成Axis2实现Web服务涉及到Spring的IoC容器、服务的创建和发布、以及客户端的调用等多个环节。了解并掌握这些知识点,对于开发高质量的Web服务应用至关重要。在实际项目中,务必确保所有必要的库...

    Axis2与Spring整合发布多个WebService

    在IT行业中,开发Web服务是常见的任务,而Axis2和Spring框架的整合为开发者提供了强大的工具来实现这一目标。本文将深入探讨如何利用这两个技术来发布多个WebService,并着重讲解项目管理和整合过程。 首先,让我们...

    WebService大讲堂之Axis2,多个实例

    而会话管理方面,Axis2支持传统的会话管理,以及在多个服务之间共享和管理会话状态。 另外,Axis2还可以将Spring框架管理的JavaBean发布为WebService,这为Java开发者提供了更多的便利性和灵活性。在异步调用方面,...

    Axis_API和axis2_API

    通过仔细阅读这些文档,开发者可以掌握如何使用Axis或Axis2来创建符合WS-I标准、高性能的Web服务,以及如何调试和优化服务。 总之,Axis和Axis2是Java Web服务开发的关键工具,它们提供了丰富的API和文档来支持开发...

    axis2-1.6.1

    - JAX-WS(Java API for XML Web Services):Java中的Web服务开发API,Axis2是其一个实现。 在实际应用中,开发人员可能需要配置Axis2服务器,创建和部署Web服务,处理服务调用,集成其他框架(如Spring),或者...

    axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_

    1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境(IDE)中支持Axis2服务的插件...

    Axis2WebService与Spring的整合

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方式,而Axis2是Apache软件基金会开发的一个流行的Java Web服务框架。Spring框架则是Java企业级应用的事实标准,提供了强大的依赖注入、AOP(面向切面编程)等...

    axis2包 使用axis2开发webservice需要的jar包

    Axis2 包含了处理SOAP消息、管理服务和服务容器等多个模块,这些模块以aar(Axis Archive)格式打包,方便部署和管理。 标题中提到的"axis2包",实际上是一组支持Web服务开发的库文件,包括但不限于以下功能: 1. ...

    Axis2-1.6.2

    4. **多语言支持**:Axis2不仅支持Java,还支持其他语言如C和PHP,实现了跨平台的Web服务开发。 5. **高级缓存机制**:通过缓存机制,Axis2能有效地减少网络传输,提高响应速度。 6. **部署灵活性**:Axis2支持...

    s2axis2 实例

    Seasar2是一个全面的Java应用框架,它包含了诸如数据库访问、事务管理、权限控制等多方面的功能,而Axis2则是Apache组织提供的一个强大的Web服务引擎,它支持SOAP、RESTful等多种通信模式。将这两者结合,我们可以...

    axis 1.x与axis2.x开发

    Axis分为两个主要版本:Axis1.x和Axis2.x,它们都是Java平台上的Web服务实现,但在设计和功能上有所不同。 Axis1.x是较早的版本,它在Web服务领域有着广泛的应用。Axis1.x基于Servlet API,提供了SOAP消息处理和...

    axis2+spring webservice

    综上所述,这个主题涵盖了从基础理论到实践技巧的多个方面,对于希望使用Java构建Web服务并有效管理会话的开发者来说,是一个重要的学习资源。通过学习这些知识点,开发者可以提升其在企业级Web服务开发中的专业技能...

    axis2最新使用包

    总的来说,"axis2最新使用包"为开发者提供了一个方便的工具集,以帮助他们快速地开发和部署基于Web服务的应用。熟悉Axis2的基本概念和操作流程,对于任何想要利用Web服务进行系统集成或构建分布式应用的开发者来说都...

    axis2-1.6.2.zip

    标题中的"axis2-1.6.2.zip"指的是Axis2的1.6.2版本的压缩包,这个版本发布于2010年,包含了 Axis2 的所有组件和必要的库文件,用于在Java环境中开发和运行Web服务。 Axis2的核心特性包括: 1. **模块化架构**:...

    axis2 包括源码 文档

    Axis2是Apache软件基金会开发的一个开源Web服务框架,主要用于构建高度可扩展且模块化的Web服务。这个框架基于SOAP(简单对象访问协议)和WS-*(Web服务*规范集),为开发者提供了一种高效且灵活的方式来创建和部署...

    axis和axis2的一些发布差异(WSDL2Java) 收藏

    通过对Axis与Axis2在使用WSDL2Java工具时的不同之处的详细探讨,我们可以看到,虽然两种工具都实现了相似的功能,但Axis2在很多方面都进行了优化和改进,尤其是在命令行参数、部署描述文件生成以及数据绑定等方面。...

    axis2学习资料

    1. **服务创建**:如何使用Axis2生成服务,包括编写服务接口和服务实现,以及如何将它们部署到Axis2环境中。 2. **服务调用**:了解如何使用Axis2客户端工具或编程方式来调用Web服务,包括同步和异步调用模式。 3....

    Axis2.jar包

    在描述中提到的“之前公司用了webservice搞了好就 写了好几种”,这可能意味着使用Axis2来实现不同类型的Web服务接口,或者在不同的项目中进行了多次的Web服务开发。 **标签:** 1. **Java** - Axis2是基于Java...

    Java+Axis2调用Web Services 网络接口

    Axis2是Apache基金会的一个开源项目,它是一个高效且灵活的Web服务引擎,能够方便地在Java平台上创建和消费Web服务。 1. **Axis2简介**: Axis2是Apache Axis的第二代版本,提供了更高级的功能,包括模块化架构、...

Global site tag (gtag.js) - Google Analytics