将SOAP转换为Spring远程调用的方法及系统的制作方法

文档序号:9290068阅读:574来源:国知局
将SOAP转换为Spring远程调用的方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种将SOAP转换为Spring远程调用的方法及系统。
【背景技术】
[0002]众所周知,SOAP (Simple Object Access Protocol,即简单对象访问协议)是分布式的环境中交换信息的简单的协议,是一种轻量的、简单的、基于XML的协议,它被设计成在web上交换结构化的和固化的信息,是一种标准化的通讯规范,主要用于web服务(webservice)中。SOAP 是基于XML 的文本协议,与 WSDL (Web Services Descript1n Language,即网络服务描述语言)、UDDI (Universal Descript1n Discovery and Integrat1n,即统一描述、发现和集成协议)并称Web Services三要素。然而随着近年来分布式传输与调用协议的发展,简单、高效成为当下对服务暴露的主要要求,在Java领域,出现了 Spring远程过程调用协议,其提供对RM1、HttpInvoker、Hessian、Burlap等技术的集成,屏蔽这些实现技术的差异,用户只需开发P0J0 (Plain Old Java 0b jects,即简单的Java对象),然后按照Spring规定的格式进行配置文件的编写,编写后根据Spring暴露的远程服务访问地址进行调用,从而实现远程过程调用的简单框架。特别是配合以Hessian为代表的二进制高效序列化机制配合传输协议,解决对象传输问题。现有技术的Web Services-SOAP需要先后二次编写和解析WSDL才能调用,对复杂对象参数支持不好,不够简单;传输也是根据XML文本协议进行传输,非二进制且围堵标签亦浪费空间,不够高效;然而,SOAP使用比较广泛,历史遗留项目多,现有技术不通过SOAP程序转换,而是直接改造为更简单高效的Spring远程过程调用协议的工作量大、成本较高,但无需SOAP程序的二次编写和解析。

【发明内容】

[0003]本发明要解决的技术问题之一,在于提供一种将SOAP协议转换为Spring协议的方法,本发明能够在Java环境中,不改变原始SOAP的程序的前提下,使用SOAP带有的本地调用(即Local Invoke),封装SOAP程序调用代理,并将SOAP程序调用代理注册到Spring远程过程调用协议中,实现将SOAP转换为简单、高效的Spring远程过程调用协议。
[0004]本发明要解决的问题之一,是这样实现的:
[0005]—种将SOAP转换为Spring远程调用的方法,包括如下步骤:
[0006]步骤1、根据原始SOAP程序的WSDL生成SOAP程序调用代理,所述SOAP程序调用代理包括原始SOAP程序客户端、按照P0J0的格式生成的客户端调用类及其对应的调用类接口 ;
[0007]步骤2、根据远程服务访问地址、该客户端调用类的类名及其对应的调用类接口的类名,将该原始SOAP程序按照Spring远程过程调用协议规定的格式进行配置文件的编写,编写后根据远程服务访问地址进行调用;
[0008]步骤3、Spring Remoting Servlet接收服务器的请求,并触发SOAP程序调用代理,通过所述客户端调用类调用所述原始SOAP程序客户端,然后所述原始SOAP程序客户端通过原始SOAP程序带有的本地调用方式调用原始SOAP程序,然后将调用结果返回给Spring Remoting Servlet 口向应请求。
[0009]本发明要解决的技术问题之二,在于提供一种将SOAP协议转换为Spring协议的系统,本发明能够在Java环境中,不改变原始SOAP的程序的前提下,使用SOAP带有的本地调用(即Local Invoke),封装SOAP程序调用代理,并将SOAP程序调用代理注册到Spring远程过程调用协议中,实现将SOAP转换为简单、高效的Spring远程过程调用协议。
[0010]本发明要解决的问题之二,是这样实现的:
[0011]—种将SOAP转换为Spring远程调用的系统,包括:
[0012]代理生成模块,用于根据原始SOAP程序的WSDL生成SOAP程序调用代理,所述SOAP程序调用代理包括原始SOAP程序客户端、按照POJO的格式生成的客户端调用类及其对应的调用类接口;
[0013]文件编写模块,用于根据远程服务访问地址、该客户端调用类的类名及其对应的调用类接口的类名,将该原始SOAP程序按照Spring远程过程调用协议规定的格式进行配置文件的编写,编写后根据远程服务访问地址进行调用;
[0014]程序调用模块,用于Spring Remoting Servlet接收服务器的请求,并触发SOAP程序调用代理,通过所述客户端调用类调用所述原始SOAP程序客户端,然后所述原始SOAP程序客户端通过原始SOAP程序带有的本地调用方式调用原始SOAP程序,然后将调用结果返回给 Spring Remoting Servlet 口向应请求。
[0015]本发明具有如下优点:
[0016]1、本发明的方法和系统没有改变原始SOAP程序,转换工作量小;
[0017]2、通过本发明的方法和系统将SOAP转换为Spring后,无需原先SOAP的二次编写和解析后才能调用,并直接支持复杂对象参数,使用更简单;
[0018]3、通过本发明的方法将和系统SOAP转换为Spring后,网络传输可以使用二进制协议,使用更高效。
【附图说明】
[0019]下面参照附图结合实施例对本发明作进一步的说明。
[0020]图1为本发明一种将SOAP转换为Spring远程调用的方法执行流程图。
[0021]图2为本发明一种将SOAP转换为Spring远程调用的方法工作示意图。
【具体实施方式】
[0022]如图1和图2所示,本发明的一种将SOAP转换为Spring远程调用的方法,包括如下步骤:
[0023]步骤1、根据原始SOAP程序的WSDL生成SOAP程序调用代理,所述SOAP程序调用代理包括原始SOAP程序客户端(根据原始SOAP程序的WSDL自动生成的客户端或手工编写的客户端)、按照P0J0(Plai
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1