一种面向接口的web服务调用方法

文档序号:7968809阅读:334来源:国知局
专利名称:一种面向接口的web服务调用方法
技术领域
本发明涉及计算机技术领域,具体地说是一种面向接口的WEB服务调用方法。
背景技术
2000年以后,人们普遍认识到基于公共——专有互联网之上的电子商务具有极大的发展潜力,因此需要创建一套全新的基于互联网的开放通信框架,以满足企业对电子商务中各分立系统之间通信的要求。于是,人们提出了 web服务的概念,希望通过将企业对外服务封装为基于统一标准的web服务,实现异构系统之间的简单交互。从2005年开始,仅仅是几个web服务之间的简单调用已经难以满足企业的需要, 随着企业对资源整合的迫切需要以及网络带宽的逐渐增长,soa已经成为企业构建应用的基础与核心。这样,web服务的数量就出现了一个爆发式的增长,同时,复杂度也在不断提尚ο随着web服务的数量与复杂度不断提供,传统开发方式的弊端也逐步显现出来。从web服务技术诞生发展至今,各种各样的web服务技术都比较侧重服务端,着眼于如何减少web服务发布的配置量、代码量,对作为使用web服务的客户端一方一般都不甚重视。在交互量很少时,客户端手动构建交互内容还不算很大的负担,而在交互内容越来越庞杂的现在和未来,这种方式已经严重影响了系统的正确性与稳定性,服务调用相关的代码已经成为开发时的bug重灾区。

发明内容
本发明的技术任务是针对上述现有技术的不足,提供一种面向接口的TOB服务调用方法。本发明的技术任务是按以下方式实现的一种面向接口的WEB服务调用方法,其特点是,
根据配置信息自动构建一个代理对象,所述配置信息包括web服务地址、包装接口以及web服务描述文件这三个web服务调用需要的信息;
代理对象实现指定的接口,对接口中规定的每个方法,代理对象都将对方法的调用请求转发到另外一个处理单元;
在所述处理单元中,自动构建soap消息并发送给web服务;而后,这个处理单元获取 web服务的响应soap,解析为接口方法规定的返回值;
在将soap消息发送给web服务提供方之前,在客户端进行地址的转换,由客户端将动态地址切换为真实的服务地址。进一步的,
以java的动态代理技术创建代理对象,只实现指定的包装接口,除此之外,并无多余的类型信息,使得客户端只能将代理对象按照声明的接口使用,以强制客户端按照面向接口的原则进行开发。除了自动构建代理对象外,允许客户端通过暴露的api手动创建代理对象。构建细节由客户端自己掌握。本发明的面向接口的WEB服务调用方法与现有技术相比具有以下突出的有益效果
(一)使用此方法可以降低web服务调用的开发难度,屏蔽web服务调用过程中的soap 消息组装、发送、解析等技术细节,提升开发效率;
(二)可以实现web服务的动态切换,这样可以实现开发期与上线运行期的无缝切换,甚至,可以进行web服务的集群,客户端根据web服务所在集群的域名进行web服务的动态调用。


附图1是本发明实施例中一个典型的基于本发明的web服务调用处理过程的流程图。
具体实施例方式参照说明书附图以具体实施例对本发明的面向接口的TOB服务调用方法作以下详细地说明。实施例
本发明的面向接口的WEB服务调用方法包括以下内容
根据配置信息自动构建一个代理对象,所述配置信息包括web服务地址、包装接口以及web服务描述文件这三个web服务调用需要的信息;
代理对象实现指定的接口,对接口中规定的每个方法,代理对象都将对方法的调用请求转发到另外一个处理单元;
在所述处理单元中,自动构建soap消息并发送给web服务;然后,这个处理单元获取 web服务的响应soap,解析为接口方法规定的返回值;
在将soap消息发送给web服务提供方之前,在客户端进行地址的转换,由客户端将动态地址切换为真实的服务地址。以java的动态代理技术创建代理对象,只实现指定的包装接口,使得客户端只能将代理对象按照声明的接口使用,以强制客户端按照面向接口的原则进行开发。允许客户端通过暴露的api手动创建代理对象。如附图1所示,本发明的面向接口的TOB服务调用方法的具体实现过程如下 Uweb服务调用方设置调用web服务的配置文件,配置文件内容包括web服务地址、包
装的本地接口及web服务描述文件。2、本地调用方请求调用web服务,其实现是调用本地接口中的对应方法,本地程序会根据1所述的配置文件生成代理对象,由代理对象负责调用具体的web服务。3、web服务提供方根据代理对象的调用返回对应类型的数值,该数值返回值反馈给代理对象。
4、代理对象将返回值给对应接口,由接口将该返回值反馈给web服务调用方,完成web服务的调用。
权利要求
1.一种面向接口的WEB服务调用方法,其特征在于,该方法包括以下内容根据配置信息自动构建一个代理对象,所述配置信息包括web服务地址、包装接口以及web服务描述文件这三个web服务调用需要的信息;代理对象实现指定的接口,对接口中规定的每个方法,代理对象都将对方法的调用请求转发到另外一个处理单元;在所述处理单元中,自动构建soap消息并发送给web服务;然后,这个处理单元获取 web服务的响应soap,解析为接口方法规定的返回值;在将soap消息发送给web服务提供方之前,在客户端进行地址的转换,由客户端将动态地址切换为真实的服务地址。
2.根据权利要求1所述的面向接口的WEB服务调用方法,其特征在于,以java的动态代理技术创建代理对象,只实现指定的包装接口,使得客户端只能将代理对象按照声明的接口使用,以强制客户端按照面向接口的原则进行开发。
3.根据权利要求1所述的面向接口的WEB服务调用方法,其特征在于,允许客户端通过暴露的api手动创建代理对象。
全文摘要
本发明公开了一种面向接口的WEB服务调用方法,属于计算机技术领域。该方法根据配置信息自动构建代理对象;代理对象实现指定的接口,对接口中规定的每个方法,代理对象都将对方法的调用请求转发到另外一个处理单元;在所述处理单元中,自动构建soap消息并发送给web服务;处理单元获取web服务的响应soap,解析为接口方法规定的返回值;在将soap消息发送给web服务之前,将动态地址切换为真实的服务地址。使用此方法,客户端可以通过本地代理对象来间接操作远端web服务。通过简单的配置,自动将远端服务映射为本地代理对象,本地代理对象基于接口创建。用户可以节省下编写访问web服务代码的时间,可以很容易进行软件开发期和上线运行期之间的切换。
文档编号H04L29/08GK102404391SQ20111035414
公开日2012年4月4日 申请日期2011年11月10日 优先权日2011年11月10日
发明者徐正礼, 曹祥茂, 王建华, 贾德星, 郑婷婷 申请人:山东浪潮齐鲁软件产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1