`
wujingenli
  • 浏览: 90865 次
  • 性别: 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>

 

 

分享到:
评论

相关推荐

    Axis2集成SSH搭建WebService支持事务(图文详解含核心代码)

    今天特意将项目中用Axis2集成SSH实现WebService的过程记录下来,一...3.灵活配置,在一个项目中配置多个WebService的调用接口。 4.顺便提一种方案,让我们的WebService更加安全。 5.提供测试例子,服务端客户端都有了。

    webservice Axis2教程

    Axis2是目前比较流行的WebService... 本课程通过一套完备的WebService电子书教程+20多讲教学视频+ QQ群中老师辅导的教学服务方式的教学方式, 手把手辅导学员掌握Axis2的核心技术,并一步步带领学员完成这三个项目。

    axis帮助文档(API)

    Axis 的主要功能是作为一个 SOAP 的实现来让开发者通过它来构建自己的 Web Service(支持 Java 和 C++)。随着 Web Services 以及 SOA 的不断发展,越来越多的人投入到了相关技术的实现、开发和标准的制定的工作中。...

    verilog-axis:用于FPGA实现的Verilog AXI流组件

    其次,总线宽度必须以整数倍相关(例如2个字和6个字,但不是4个字和6个字)。 必要时将在更宽的总线侧插入等待状态。 axis_arb_mux模块 具有参数设置的数据宽度和端口数的帧感知AXI流仲裁多路复用器。 支持优先级和...

    xfire教程+axis+webservice

    XFire是codeHaus组织提供的一个开源框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了Java应用转化为Web服务的步骤和过程...

    Web Service实现SOA的关注点分离

    我们通常会看到带有多个关注点(如安全、事务 管理)的巨大的实现类,使用业务逻辑记录所有混合在一起的关注点。使用Spring Framework和Aspect Oriented Programming (AOP)原则,我们可以将关注点分离,以用于服务实现...

    socket多线程调用webservice服务实现系统对接

    利用socket thread dom4j log4j axis2 soap PBE加解密等相关技术实现的socket协议调用webservice服务。 由于银行后台核心系统普遍采用的是UNIX下C/C++的开发平台,如果需要调Web Service往往需要借助一些第三方的库...

    Web_Service开发指南电子版 PDF

    WebSevice 让一个程序可以透明地调用互联网程序,不用管具体的实现细节。只要WebService公开了服务接口,远程客户端就可以调用服务。WebService 是基于Http协议的组件服务,WebService是分散式应用程序的发展趋势。 ...

    解决echarts 一条柱状图显示两个值,类似进度条的问题

    主要介绍了解决echarts 一条柱状图显示两个值,类似进度条的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    apache-cxf-3.1.4

    对于CXF是干什么用的,我不想多说,大家都知道这是我们在java编程中webService技术的一种实现工具。我们说说为什么用CXF来实现webService: 1. Java的webService实现本身就是一个很耗性能的实现方案(xml与java对象...

    理解RESTful架构、Hessian简介、机制、Webservice及cxf介绍

    RESTful架构: (1)每一个URI代表一种资源; (2)客户端和服务器之间,传递这种资源的某种表现层(Representation); (3)客户端通过四个HTTP动词,对服务器...在java领域,webservice框架很多,axis,xfire,cxf

    python实现csv数据可视化的小demo.zip

    hold属性默认为True,允许在一幅图中绘制多个曲线;将hold属性修改为False,每一个plot都会覆盖前面的plot。 但是不推荐去动hold这个属性,这种做法(会有警告)。因此使用默认设置即可。 3.网格线 grid方法 使用...

    vs2017 调用matplotlib-cpp实现C++中可视化绘图.zip

    hold属性默认为True,允许在一幅图中绘制多个曲线;将hold属性修改为False,每一个plot都会覆盖前面的plot。 但是不推荐去动hold这个属性,这种做法(会有警告)。因此使用默认设置即可。 3.网格线 grid方法 使用...

    java调用.net写的返回值为dataset的webservice(2)实例项目

    包内容太大,无法用一个压缩文件上传。放在另一个。 网上的调用例子太多了,有的要用cmd来解析webserive,有的没有包,有的代码报错。...GetWebService2 类实现原理:从webservice取值后保存为xml,然后读取,

    WebServiceCodeSamples:我的电子商务技术项目(Web 服务)的软件存储库

    代码接受多个参数,即源、目标、值,并返回一个值。 Eclipse 用于生成客户端和用于将代码转换为 Web 服务的 WSDL,以及在本地测试服务。 部署服务 该服务已存档并部署到准备测试的远程服务器上。 它被部署为具有...

    WebService实现SOA的关注点分离

    我们通常会看到带有多个关注点(如安全、事务管理)的巨大的实现类,使用业务逻辑记录所有混合在一起的关注点。使用SpringFramework和AspectOrientedProgramming(AOP)原则,我们可以将关注点分离,以用于服务实现。...

    TrioAxisCtrl.rar_TrioMotion_VC控制_axis ctrl_vc++_运动控制

    通过套接字,基于TrioMotion运动控制器,上位机软件(VC++)开发,多线程实现与控制器交换数据。分时读写100个Double Word

    java开源包2

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    webservice远程调用,返回数据生成xml文件,并通过SAX解析出来

    webservice远程调用,返回String数据并生成xml文件到本地工程,在通过SAX解析器把数据解析...在client工程我使用的是XFire技术,在webservice工程我使用的是axis技术来实现Web service。我们可以学习其中的一种就可以了

Global site tag (gtag.js) - Google Analytics