CN111988171A - 基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及*** - Google Patents
基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及*** Download PDFInfo
- Publication number
- CN111988171A CN111988171A CN202010809573.4A CN202010809573A CN111988171A CN 111988171 A CN111988171 A CN 111988171A CN 202010809573 A CN202010809573 A CN 202010809573A CN 111988171 A CN111988171 A CN 111988171A
- Authority
- CN
- China
- Prior art keywords
- soap
- style
- web service
- service
- restful
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及***,方法包括:客户端发送SOAP Web服务的SOAP风格的接口描述文档的存储地址、项目名称给代理服务器,代理服务器基于SOAP风格的接口描述文档和项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象,客户端生成RESTful风格的调用请求,代理服务器基于RESTful风格的调用请求和SOAP Web服务的关键信息对象生成SOAP风格的调用请求,SOAP Web Service服务器响应于SOAP风格的调用请求生成XML格式的服务数据,代理服务器将XML格式的服务数据转换成JSON格式的服务数据后返回给客户端。通过增设代理服务器,开发人员能够直接使用RESTful风格的服务调用请求调用SOAP Web Service服务器上的SOAP Web服务,从而显著地提升了RESTful项目的开发效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及***。
背景技术
简单对象访问协议应用程序编程接口(SOAP API)为基于Web Service机制的应用软件***间实现互连互通的接口,SOAP API使基于不同操作***、不同语言开发出的应用软件方便实现互通。
表行化的状态转移应用程序编程接口(REST API)为基于互联网的Web应用能力之间常用的互操作接口,即遵循REST风格的API,遵循REST风格的API对应的***为REST风格的***,REST风格的***特点包括:对外开放的信息都为资源,资源通过传统WEB技术的通用资源标识符(URI)来标识。相比于SOAP Web服务,RESTful Web服务更加轻量,数据描述更简单,因此,各种RESTfulWeb服务越来越流行。
虽然RESTfulWeb服务的流行度越来越高,但是仍然存在大量的SOAP Web服务被经常使用。开发人员在开发基于RESTful风格的新项目时,仍然需要调用SOAP Web服务,为了实现对SOAP Web服务的调用,开发人员需要在开发程序中额外构建SOAPClient。该方式显著地增加了项目的开发难度。
发明内容
为了解决上述技术问题,本发明第一方面提供了一种基于RESTful风格请求调用SOAP Web服务的方法,其技术方案如下:
一种基于RESTful风格请求调用SOAP Web服务的方法,所述方法应用于RESTful风格请求调用SOAP Web服务的***,所述***中包括客户端、代理服务器和SOAP WebService服务器,所述方法包括:
所述客户端发送SOAP Web服务的SOAP风格的接口描述文档的存储地址、项目名称给所述代理服务器,其中:所述SOAP Web服务由所述SOAP Web Service服务器提供,所述SOAP风格的接口描述文档为WSDL文档;
所述代理服务器根据存储地址获取到SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象;
所述代理服务器将所述RESTful风格的接口描述文档发送给所述客户端;
所述客户端基于所述RESTful风格的接口描述文档生成RESTful风格的服务调用请求,并将生成的所述RESTful风格的服务调用请求发送给所述代理服务器;
所述代理服务器基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求,并将生成的所述SOAP风格的服务调用请求发送给所述SOAP Web Service服务器;
所述SOAP Web Service服务器响应所述SOAP风格的服务调用请求生成XML格式的服务数据,并将生成的所述XML格式的服务数据发送给所述代理服务器;
所述代理服务器基于所述XML格式的服务数据生成JSON格式的服务数据,并将所述JSON格式的服务数据发送给所述客户端。
本发明的第二方面提供了一种基于RESTful风格请求调用SOAP Web服务的方法,其技术方案如下:
一种基于RESTful风格请求调用SOAP Web服务的方法,所述方法其运行于代理服务器上,所述代理服务器应用于RESTful风格请求调用SOAP Web服务的***,所述***还包括客户端和SOAP Web Service服务器,所述方法包括:
获取客户端发送的SOAP Web服务的SOAP风格的接口描述文档的存储地址和项目名称,其中:所述SOAP Web服务由所述SOAP Web Service服务器提供,所述SOAP风格的接口描述文档为WSDL文档;
根据所述存储地址获取到所述SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象;
将所述RESTful风格的接口描述文档发送给所述客户端;
获取所述客户端发送的基于所述RESTful风格的接口描述文档生成的RESTful风格的服务调用请求;
基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求;
将生成的所述SOAP风格的服务调用请求发送给所述SOAP Web Service服务器以触发所述SOAP Web Service服务器生成XML格式的服务数据;
获取所述SOAP Web Service服务器发送的所述XML格式的服务数据;
基于所述XML格式的服务数据生成JSON格式的服务数据;
将所述JSON格式的服务数据发送给所述客户端。
本发明的第三方面提供了一种代理服务器,其技术方案如下:
一种代理服务器,所述代理服务器应用于基于RESTful风格请求调用SOAP Web服务的***,所述***还包括客户端和SOAP Web Service服务器,所述代理服务器包括:
第一获取模块,获取客户端发送的SOAP Web服务的SOAP风格的接口描述文档的存储地址和项目信息,其中:所述SOAP Web服务由所述SOAP Web Service服务器提供,所述SOAP风格的接口描述文档为WSDL文档;
第一生成模块,根据所述存储地址获取到所述SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAPWeb服务的关键信息对象;
第一发送模块,将所述RESTful风格的接口描述文档发送给所述客户端;
第二获取模块,获取所述客户端发送的基于所述RESTful风格的接口描述文档生成的RESTful风格的服务调用请求;
第二生成模块,基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求;
第二发送模块,将生成的所述SOAP风格的服务调用请求发送给所述SOAP WebService服务器以触发所述SOAP Web Service服务器生成XML格式的服务数据;
第三获取模块,获取所述SOAP Web Service服务器发送的所述XML格式的服务数据;
第三生成模块,基于所述XML格式的服务数据生成JSON格式的服务数据;
第三发送模块,将所述JSON格式的服务数据发送给所述客户端。
本发明的第四方面提供了一种基于RESTful风格请求调用SOAP Web服务的***,其技术方案如下:
一种基于RESTful风格请求调用SOAP Web服务的***,所述***包括客户端、代理服务器和SOAP Web Service服务器,其中:
所述客户端发送SOAP Web服务的SOAP风格的接口描述文档的存储地址、项目名称给所述代理服务器,其中:所述SOAP Web服务由所述SOAP Web Service服务器提供,所述SOAP风格的接口描述文档为WSDL文档;
所述代理服务器根据存储地址获取到SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象;
所述代理服务器将所述RESTful风格的接口描述文档发送给所述客户端;
所述客户端基于所述RESTful风格的接口描述文档生成RESTful风格的服务调用请求,并将生成的所述RESTful风格的服务调用请求发送给所述代理服务器;
所述代理服务器基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求,并将生成的所述SOAP风格的服务调用请求发送给所述SOAP Web Service服务器;
所述SOAP Web Service服务器响应所述SOAP风格的服务调用请求生成XML格式的服务数据,并将生成的所述XML格式的服务数据发送给所述代理服务器;
所述代理服务器基于所述XML格式的服务数据生成JSON格式的服务数据,并将所述JSON格式的服务数据发送给所述客户端。
可见,本发明通过在客户端和SOAP Web Service服务器之间构建一个代理服务器,开发人员通过客户端开发RESTful风格的项目时,不需要在程序代码中额外构建SOAPClient,就能直接使用RESTful风格的服务调用请求调用SOAP Web Service服务器上的SOAP Web服务,从而提升了开发人员的项目开发效率。
附图说明
图1为本发明实施例的RESTful风格请求调用SOAP Web服务的方法的在***内的信息交互流程图;
图2为本发明实施例的基于RESTful风格请求调用SOAP Web服务的方法在服务器上的处理流程图;
图3为本发明实施例的基于RESTful风格请求调用SOAP Web服务的方法在服务器上的处理流程图;
图4为本发明实施例的基于RESTful风格请求调用SOAP Web服务的方法在服务器上的处理流程图;
图5为本发明实施例的基于RESTful风格请求调用SOAP Web服务的代理服务器的结构框图;
图6为本发明实施例的基于RESTful风格请求调用SOAP Web服务的代理服务器的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例提供了一种基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及***,使得开发人员在开发RESTful风格的项目时,不需要在程序代码中额外构建SOAPClient,就能直接调用SOAP Web Service服务器上的SOAP Web服务,提升了开发人员的项目开发效率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本发明应用于基于RESTful风格请求调用SOAP Web服务的***,该***包括至少一个开发人员端、至少一个代理服务器和至少一个SOAP Web Service服务器。
为了便于理解,请参阅图1,图1为本发明实施例中的基于RESTful风格请求调用SOAP Web服务的方法的一个交互实施例示意图,如图所示,具体为:
201、客户端发送SOAP Web服务的SOAP风格的接口描述文档的存储地址、项目名称给代理服务器,其中:SOAP Web服务由SOAP Web Service服务器提供,SOAP风格的接口描述文档为WSDL文档。
SOAP风格的接口描述文档一般被存储在网络上或是被存储于本地的文件***中。开发人员在开发RESTful风格的项目时,首先将所需使用的SOAP Web服务对应的SOAP风格的接口描述文档的地址及项目名称输入至客户端。
如果接口描述文档被存储在网络上,则该存储地址为一个URL,如果接口描述文档被存储在文件***内,则该存储地址为一文件***访问路径。
本发明中,项目名称用于区分不同的需要调用SOAP Web服务的项目。可选的,开发人员将项目的描述信息一并输入至客户端。项目名称一般用简短的英文字母或英文单词进行表征。
202、代理服务器根据存储地址获取到SOAP风格的接口描述文档,并基于SOAP风格的接口描述文档和项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象。
如本领域技术人员所熟悉的,SOAP风格的接口描述文档为WSDL文档,其文档结构具有统一的标准格式。代理服务器经存储地址获取到该WSDL文档后,使用DOM4j+XPath解析工具或者其他的一些解析XML结构数据的解析工具对其进行解析,以获取到生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象所需的信息。
步骤一、解析WSDL文档以获取生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象所需的信息,其具体过程如下:
对wsdl:definitions标签中targetNamespace属性的值进行抽取,得到SOAP Web服务的目标命名空间,每个请求获取SOAP Web服务的服务调用请求中都需要携带该属性值。可选的,此时也可以对wsdl:definitions标签下第一个wsdl:documentation标签中的text内容进行抽取,该text内容是有关SOAP Web服务的介绍。
解析wsdl:service标签下wsdl:port标签下soap:address标签中location属性的值,该值为SOAP Web服务的主体URL,每个请求获取SOAP Web服务的服务调用请求中都需要携带该属性值。
解析其中任意一个wsdl:portType标签下所有wsdl:operation标签中name属性的值,获得所有的SOAP Web服务的有效方法请求路径。可选的,此时也可以抽取每个wsdl:operation标签下wsdl:documentation标签中text内容,该text内容是关于对应的方法的具体描述,包括业务功能以及请求参数和返回结果的介绍。
根据上一步获取到的有效方法请求路径,再解析wsdl:types标签下的s:schema标签下的所述s:element标签,根据标签中name属性的值,得到方法相一致的标签,再在该标签下分析其子标签s:complexType下的s:sequence标签下的s:element标签中的内容以获取到对应方法的参数和类型。当然,也不是所有的方法均存在参数和类型。
至此,已经获取到生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象所需的全部信息。
步骤二、基于获取到的信息及项目名称生成RESTful风格的接口描述文档和SOAPWeb服务的关键信息对象,其具体过程如下:
对RESTful风格的应用程序接口进行建模,RESTful风格的应用程序接口的URL一般格式为IP:端口号/API/项目名称/方法请求路径。
由于SOAP底层所涉及到HTTP的请求只有GET和POST方式,因此在对RESTful风格的应用程序接口进行建模时,也只需要构建GET和POST方式。那么,对于获取到的有效方法中,没有参数的以GET方式构建,有参数的以POST方式构建。两种方式的建模如下:
GET方式:URL为IP:端口号/API/项目名称/methodName。
POST方式:URL为IP:端口号/API/项目名称/methodName,并以{param1:value1,param2:value2,…}作为请求体。
其中的项目名称即来源于客户端发送的项目名称。
至此,完成了RESTful风格的应用程序接口的建模。接下来将所有应用程序接口类对象、自WSDL文档解析获取的SOAP Web服务的有效方法的请求路径、参数列表及客户端发送的项目描述信息等封装至一个最终对象中,然后以项目名为k、最终对象为v存储至一个由代理服务器维护的表Map1中且序列化进数据库,该最终对象同时以JSON的格式返回给客户端,该JSON格式的最终对象数据即为RESTful风格的接口描述文档。
此外,以项目名为k,有关SOAP Web服务的关键信息(包括目标命名空间和主体URL)为v,作为SOAP Web服务的关键信息对象保存于代理服务器维护的表Map2中并序列化进数据库。
203,代理服务器将RESTful风格的接口描述文档发送给客户端。
204~205,客户端基于RESTful风格的接口描述文档生成Restful风格的服务调用请求,并将生成的RESTful风格的服务调用请求发送给代理服务器。
具体的,客户端获得RESTful风格的接口描述文档后,可以根据文档的提示使用其中的接口从而生成RESTful风格的服务调用请求。
206~207,代理服务器基于RESTful风格的服务调用请求及SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求,并将生成的SOAP风格的服务调用请求发送给SOAPWeb Service服务器。
具体的,代理服务器获取到RESTful风格的服务调用请求后,从服务调用请求的访问路径中获取到项目名称、方法名称及参数列表。并基于项目名称从Map2中获取到对应的SOAP Web服务的目标命名空间、主体URL。接着,代理服务器基于SOAP Web服务的目标命名空间、主体URL、访问路径、方法名称及参数列表构建SOAP风格的服务调用请求(SOAPClient)。
208~209,SOAP Web Service服务器响应SOAP风格的服务调用请求并生成XML格式的服务数据,并将生成的XML格式的服务数据发送给代理服务器。
210~211,代理服务器基于XML格式的服务数据生成JSON格式的服务数据,并将JSON格式的服务数据发送给客户端。
具体的,代理服务器再次使用DOM4j+XPath解析工具或者其他的一些解析XML结构数据的解析工具解析该基于XML格式的服务数据,取出所有标签下的text内容,并将这些内容放入一个List中,最后将该List以JSON的格式发送给客户端。
可见,通过在客户端和SOAP Web Service服务器之间构建一个代理服务器,开发人员在开发RESTful风格的项目时,不需要在程序代码中额外构建SOAPClient,就能直接使用RESTful风格的服务调用请求调用SOAP Web Service服务器上的SOAP Web服务,从而提升了开发人员的项目开发效率。
由于本发明的核心处理过程由代理服务器完成,下面将从代理服务器的角度对本发明的RESTful风格请求调用SOAP Web服务的方法进行介绍。
请参阅图2,本发明实施例中的RESTful风格请求调用SOAP Web服务的方法运行在代理服务器上,该实施例包括:
101、获取客户端发送的SOAP Web服务的SOAP风格的接口描述文档的存储地址和项目名称,其中:所述SOAP Web服务由所述SOAP Web Service服务器提供,所述SOAP风格的接口描述文档为WSDL文档。
102、根据所述存储地址获取到所述SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象。
如图3所示,可选的,步骤102包括如下子步骤:
1021、根据所述存储地址获取到所述SOAP风格的接口描述文档;
1022、解析所述SOAP风格的接口描述文档,获取到所述SOAP Web服务的目标命名空间、主体URL及所述SOAP Web服务所包含的所有的有效方法的请求路径及参数列表;
1023、基于获取到的所述项目名称、所述SOAP Web服务所包含的所有的有效方法的请求路径及参数列表生成RESTful风格的接口描述文档,基于所述项目名称、所述SOAPWeb服务的目标命名空间、主体URL生成SOAP Web服务的关键信息对象。
步骤102的具体实现过程与前文中的步骤202相同,此处不再赘述。
103、将所述RESTful风格的接口描述文档发送给所述客户端。
104、获取所述客户端发送的基于所述RESTful风格的接口描述文档生成的RESTful风格的服务调用请求。
105、基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求。
如图5所示,可选的,步骤105包括如下子步骤:
1051、根据所述RESTful风格的服务调用请求的访问路径获取到项目名称、方法名称及参数列表,并基于项目名称从所述SOAP Web服务的关键信息对象中获取到所述SOAPWeb服务的目标命名空间、主体URL;
1052、基于所述项目名称、所述方法名称、所述参数列表及所述SOAP Web服务的目标命名空间、主体URL生成SOAP风格的服务调用请求。
步骤105的具体实现过程与前文中的步骤206相同,此处不再赘述。
106、将生成的所述SOAP风格的服务调用请求发送给所述SOAP Web Service服务器以触发所述SOAP Web Service服务器生成XML格式的服务数据。
107、获取所述SOAP Web Service服务器发送的所述XML格式的服务数据;
108、基于所述XML格式的服务数据生成JSON格式的服务数据。
步骤108的具体实现过程与前文中的步骤210相同,此处不再赘述。
109、将所述JSON格式的服务数据发送给所述客户端。
本发明实施例还提供了一种代理服务器,该代理服务器应用于RESTful风格请求调用SOAP Web服务的***,所述***还包括客户端和SOAP Web Service服务器,如图5所示,代理服务器包括:
第一获取模块11,用于获取客户端发送的SOAP Web服务的SOAP风格的接口描述文档的存储地址和项目信息,其中:所述SOAP Web服务由所述SOAP Web Service服务器提供,所述SOAP风格的接口描述文档为WSDL文档;
第一生成模块12,用于根据所述存储地址获取到所述SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象。
可选的,第一生成模块12包括如下子模块:
第一获取子模块121,用于根据所述存储地址获取到所述SOAP风格的接口描述文档;
第二获取子模块122,用于解析所述SOAP风格的接口描述文档,获取到所述SOAPWeb服务的目标命名空间、主体URL及所述SOAP Web服务所包含的所有的有效方法的请求路径及参数列表;
第一生成子模块123,用于基于获取到的所述项目名称、所述SOAP Web服务所包含的所有的有效方法的请求路径及参数列表生成RESTful风格的接口描述文档,基于所述项目名称、所述SOAP Web服务的目标命名空间、主体URL生成SOAP Web服务的关键信息对象。
第一发送模块13,用于将所述RESTful风格的接口描述文档发送给所述客户端;
第二获取模块14,用于获取所述客户端发送的基于所述RESTful风格的接口描述文档生成的RESTful风格的服务调用请求;
第二生成模块15,用于基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求;
可选的,第二生成模块15包括如下子模块:
第三获取子模块151,用于根据所述RESTful风格的服务调用请求的访问路径获取到项目名称、方法名称及参数列表,并基于项目名称从所述SOAP Web服务的关键信息对象中获取到所述SOAP Web服务的目标命名空间、主体URL;
第二生成子模块152,用于基于所述项目名称、所述方法名称、所述参数列表及所述SOAP Web服务的目标命名空间、主体URL生成SOAP风格的服务调用请求。
第二发送模块16,用于将生成的所述SOAP风格的服务调用请求发送给所述SOAPWeb Service服务器以触发所述SOAP Web Service服务器生成XML格式的服务数据;
第三获取模块17,用于获取所述SOAP Web Service服务器发送的所述XML格式的服务数据;
第三生成模块18,用于基于所述XML格式的服务数据生成JSON格式的服务数据;
第三发送模块19,用于将所述JSON格式的服务数据发送给所述客户端。
上文对本发明进行了足够详细的具有一定特殊性的描述。所属领域内的普通技术人员应该理解,实施例中的描述仅仅是示例性的,在不偏离本发明的真实精神和范围的前提下做出所有改变都应该属于本发明的保护范围。本发明所要求保护的范围是由所述的权利要求书进行限定的,而不是由实施例中的上述描述来限定的。
Claims (10)
1.一种基于RESTful风格请求调用SOAP Web服务的方法,所述方法应用于RESTful风格请求调用SOAP Web服务的***,所述***中包括客户端、代理服务器和SOAP Web Service服务器,所述方法包括:
所述客户端发送SOAP Web服务的SOAP风格的接口描述文档的存储地址、项目名称给所述代理服务器,其中:所述SOAP Web服务由所述SOAP Web Service服务器提供,所述SOAP风格的接口描述文档为WSDL文档;
所述代理服务器根据存储地址获取到SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象;
所述代理服务器将所述RESTful风格的接口描述文档发送给所述客户端;
所述客户端基于所述RESTful风格的接口描述文档生成RESTful风格的服务调用请求,并将生成的所述RESTful风格的服务调用请求发送给所述代理服务器;
所述代理服务器基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求,并将生成的所述SOAP风格的服务调用请求发送给所述SOAP Web Service服务器;
所述SOAP Web Service服务器响应所述SOAP风格的服务调用请求生成XML格式的服务数据,并将生成的所述XML格式的服务数据发送给所述代理服务器;
所述代理服务器基于所述XML格式的服务数据生成JSON格式的服务数据,并将所述JSON格式的服务数据发送给所述客户端。
2.如权利要求1所述的方法,其特征在于,所述代理服务器基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象包括:
所述代理服务器解析所述SOAP风格的接口描述文档,获取到所述SOAP Web服务的所述SOAP Web服务的目标命名空间、主体URL及所述SOAP Web服务所包含的所有的有效方法的请求路径及参数列表;
所述代理服务器基于获取到的所述项目名称、所述SOAP Web服务所包含的所有的有效方法的请求路径及参数列表生成RESTful风格的接口描述文档,基于所述项目名称、所述SOAP Web服务的目标命名空间、主体URL生成SOAP Web服务的关键信息对象。
3.如权利要求1所述的方法,其特征在于,所述代理服务器基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求包括:
所述代理服务器根据所述RESTful风格的服务调用请求的访问路径获取到项目名称、方法名称及参数列表,并基于项目名称从所述SOAP Web服务的关键信息对象中获取到所述SOAP Web服务的目标命名空间、主体URL;
所述代理服务器基于所述项目名称、所述方法名称、所述参数列表及所述SOAP Web服务的目标命名空间、主体URL生成SOAP风格的服务调用请求。
4.一种基于RESTful风格请求调用SOAP Web服务的方法,其特征在于,所述方法其运行于代理服务器上,所述代理服务器应用于RESTful风格请求调用SOAP Web服务的***,所述***还包括客户端和SOAP Web Service服务器,所述方法包括:
获取客户端发送的SOAP Web服务的SOAP风格的接口描述文档的存储地址和项目名称,其中:所述SOAP Web服务由所述SOAP Web Service服务器提供,所述SOAP风格的接口描述文档为WSDL文档;
根据所述存储地址获取到所述SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象;
将所述RESTful风格的接口描述文档发送给所述客户端;
获取所述客户端发送的基于所述RESTful风格的接口描述文档生成的RESTful风格的服务调用请求;
基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求;
将生成的所述SOAP风格的服务调用请求发送给所述SOAP Web Service服务器以触发所述SOAP Web Service服务器生成XML格式的服务数据;
获取所述SOAP Web Service服务器发送的所述XML格式的服务数据;
基于所述XML格式的服务数据生成JSON格式的服务数据;
将所述JSON格式的服务数据发送给所述客户端。
5.如权利要求4所述的方法,其特征在于,所述根据所述存储地址获取到所述SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象包括:
根据所述存储地址获取到所述SOAP风格的接口描述文档;
解析所述SOAP风格的接口描述文档,获取到所述SOAP Web服务的目标命名空间、主体URL及所述SOAP Web服务所包含的所有的有效方法的请求路径及参数列表;
基于获取到的所述项目名称、所述SOAP Web服务所包含的所有的有效方法的请求路径及参数列表生成RESTful风格的接口描述文档,基于所述项目名称、所述SOAP Web服务的目标命名空间、主体URL生成SOAP Web服务的关键信息对象。
6.如权利要求4所述的方法,其特征在于,所述基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求包括:
根据所述RESTful风格的服务调用请求的访问路径获取到项目名称、方法名称及参数列表,并基于项目名称从所述SOAP Web服务的关键信息对象中获取到所述SOAP Web服务的目标命名空间、主体URL;
基于所述项目名称、所述方法名称、所述参数列表及所述SOAP Web服务的目标命名空间、主体URL生成SOAP风格的服务调用请求。
7.一种代理服务器,其特征在于,所述代理服务器应用于基于RESTful风格请求调用SOAP Web服务的***,所述***还包括客户端和SOAP Web Service服务器,所述代理服务器包括:
第一获取模块,用于获取客户端发送的SOAP Web服务的SOAP风格的接口描述文档的存储地址和项目信息,其中:所述SOAP Web服务由所述SOAP Web Service服务器提供,所述SOAP风格的接口描述文档为WSDL文档;
第一生成模块,用于根据所述存储地址获取到所述SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAPWeb服务的关键信息对象;
第一发送模块,用于将所述RESTful风格的接口描述文档发送给所述客户端;
第二获取模块,用于获取所述客户端发送的基于所述RESTful风格的接口描述文档生成的RESTful风格的服务调用请求;
第二生成模块,用于基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求;
第二发送模块,用于将生成的所述SOAP风格的服务调用请求发送给所述SOAP WebService服务器以触发所述SOAP Web Service服务器生成XML格式的服务数据;
第三获取模块,用于获取所述SOAP Web Service服务器发送的所述XML格式的服务数据;
第三生成模块,用于基于所述XML格式的服务数据生成JSON格式的服务数据;
第三发送模块,用于将所述JSON格式的服务数据发送给所述客户端。
8.如权利要求7所述的代理服务器,其特征在于,所述第一生成模块包括:
第一获取子模块,用于根据所述存储地址获取到所述SOAP风格的接口描述文档;
第二获取子模块,用于解析所述SOAP风格的接口描述文档,获取到所述SOAP Web服务的目标命名空间、主体URL及所述SOAP Web服务所包含的所有的有效方法的请求路径及参数列表;
第一生成子模块,用于基于获取到的所述项目名称、所述SOAP Web服务所包含的所有的有效方法的请求路径及参数列表生成RESTful风格的接口描述文档,基于所述项目名称、所述SOAP Web服务的目标命名空间、主体URL生成SOAP Web服务的关键信息对象。
9.如权利要求7所述的代理服务器,其特征在于,所述第二生成模块包括:
第三获取子模块,用于根据所述RESTful风格的服务调用请求的访问路径获取到项目名称、方法名称及参数列表,并基于项目名称从所述SOAP Web服务的关键信息对象中获取到所述SOAP Web服务的目标命名空间、主体URL;
第二生成子模块,用于基于所述项目名称、所述方法名称、所述参数列表及所述SOAPWeb服务的目标命名空间、主体URL生成SOAP风格的服务调用请求。
10.一种基于RESTful风格请求调用SOAP Web服务的***,其特征在于,所述***包括客户端、代理服务器和SOAP Web Service服务器,其中:
所述客户端发送SOAP Web服务的SOAP风格的接口描述文档的存储地址、项目名称给所述代理服务器,其中:所述SOAP Web服务由所述SOAP Web Service服务器提供,所述SOAP风格的接口描述文档为WSDL文档;
所述代理服务器根据存储地址获取到SOAP风格的接口描述文档,并基于所述SOAP风格的接口描述文档和所述项目名称生成RESTful风格的接口描述文档和SOAP Web服务的关键信息对象;
所述代理服务器将所述RESTful风格的接口描述文档发送给所述客户端;
所述客户端基于所述RESTful风格的接口描述文档生成RESTful风格的服务调用请求,并将生成的所述RESTful风格的服务调用请求发送给所述代理服务器;
所述代理服务器基于所述RESTful风格的服务调用请求和所述SOAP Web服务的关键信息对象生成SOAP风格的服务调用请求,并将生成的所述SOAP风格的服务调用请求发送给所述SOAP Web Service服务器;
所述SOAP Web Service服务器响应所述SOAP风格的服务调用请求生成XML格式的服务数据,并将生成的所述XML格式的服务数据发送给所述代理服务器;
所述代理服务器基于所述XML格式的服务数据生成JSON格式的服务数据,并将所述JSON格式的服务数据发送给所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010809573.4A CN111988171B (zh) | 2020-08-12 | 2020-08-12 | 基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010809573.4A CN111988171B (zh) | 2020-08-12 | 2020-08-12 | 基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988171A true CN111988171A (zh) | 2020-11-24 |
CN111988171B CN111988171B (zh) | 2022-05-17 |
Family
ID=73434944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010809573.4A Active CN111988171B (zh) | 2020-08-12 | 2020-08-12 | 基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988171B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565215A (zh) * | 2020-11-25 | 2021-03-26 | 电信科学技术第十研究所有限公司 | 基于分布式服务代理的rest应用架构及构架方法 |
CN114051058A (zh) * | 2021-09-27 | 2022-02-15 | 北京旷视科技有限公司 | 接口调用方法、平台、电子设备及计算机存储介质 |
CN115037807A (zh) * | 2022-06-10 | 2022-09-09 | 湖南大学 | 一种工业机器人服务总线上集成dds协议的方法及*** |
CN115225476A (zh) * | 2022-07-08 | 2022-10-21 | 武汉众邦银行股份有限公司 | 一种基于soa架构集成式部署的传输方法及装置 |
CN115277659A (zh) * | 2022-07-04 | 2022-11-01 | 浪潮软件股份有限公司 | 一种基于APISIX代理Web服务接口的方法及*** |
CN115509647A (zh) * | 2022-11-21 | 2022-12-23 | 深圳市蓝凌软件股份有限公司 | Api接口访问方法、转换方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764837A (zh) * | 2009-12-23 | 2010-06-30 | 宁波东海蓝帆科技有限公司 | 一种Web服务动态调用***及调用方法 |
US20110238851A1 (en) * | 2010-03-26 | 2011-09-29 | Linkage Technology Group Co., Ltd. | Soap Client Protocol Encapsulation Based on TCP |
CN104580342A (zh) * | 2014-08-01 | 2015-04-29 | 南京坦道信息科技有限公司 | 一种可扩展和完全自定义的统一接口服务平台 |
US9558164B1 (en) * | 2008-12-31 | 2017-01-31 | F5 Networks, Inc. | Methods and system for converting WSDL documents into XML schema |
CN111064722A (zh) * | 2019-12-12 | 2020-04-24 | 山西云时代技术有限公司 | 一种以api方式实现集协议转换的数据共享方法 |
-
2020
- 2020-08-12 CN CN202010809573.4A patent/CN111988171B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9558164B1 (en) * | 2008-12-31 | 2017-01-31 | F5 Networks, Inc. | Methods and system for converting WSDL documents into XML schema |
CN101764837A (zh) * | 2009-12-23 | 2010-06-30 | 宁波东海蓝帆科技有限公司 | 一种Web服务动态调用***及调用方法 |
US20110238851A1 (en) * | 2010-03-26 | 2011-09-29 | Linkage Technology Group Co., Ltd. | Soap Client Protocol Encapsulation Based on TCP |
CN104580342A (zh) * | 2014-08-01 | 2015-04-29 | 南京坦道信息科技有限公司 | 一种可扩展和完全自定义的统一接口服务平台 |
CN111064722A (zh) * | 2019-12-12 | 2020-04-24 | 山西云时代技术有限公司 | 一种以api方式实现集协议转换的数据共享方法 |
Non-Patent Citations (1)
Title |
---|
BIPIN UPADHYAYA等: "Migration of SOAP-based services to RESTful services", 《IEEE》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565215A (zh) * | 2020-11-25 | 2021-03-26 | 电信科学技术第十研究所有限公司 | 基于分布式服务代理的rest应用架构及构架方法 |
CN114051058A (zh) * | 2021-09-27 | 2022-02-15 | 北京旷视科技有限公司 | 接口调用方法、平台、电子设备及计算机存储介质 |
CN114051058B (zh) * | 2021-09-27 | 2024-03-26 | 北京旷视科技有限公司 | 接口调用方法、平台、电子设备及计算机存储介质 |
CN115037807A (zh) * | 2022-06-10 | 2022-09-09 | 湖南大学 | 一种工业机器人服务总线上集成dds协议的方法及*** |
CN115037807B (zh) * | 2022-06-10 | 2023-08-18 | 湖南大学 | 一种工业机器人服务总线上集成dds协议的方法及*** |
CN115277659A (zh) * | 2022-07-04 | 2022-11-01 | 浪潮软件股份有限公司 | 一种基于APISIX代理Web服务接口的方法及*** |
CN115277659B (zh) * | 2022-07-04 | 2024-04-12 | 浪潮软件股份有限公司 | 一种基于APISIX代理Web服务接口的方法及*** |
CN115225476A (zh) * | 2022-07-08 | 2022-10-21 | 武汉众邦银行股份有限公司 | 一种基于soa架构集成式部署的传输方法及装置 |
CN115225476B (zh) * | 2022-07-08 | 2023-08-11 | 武汉众邦银行股份有限公司 | 一种基于soa架构集成式部署的传输方法及装置 |
CN115509647A (zh) * | 2022-11-21 | 2022-12-23 | 深圳市蓝凌软件股份有限公司 | Api接口访问方法、转换方法、装置、设备及存储介质 |
CN115509647B (zh) * | 2022-11-21 | 2023-03-03 | 深圳市蓝凌软件股份有限公司 | Api接口访问方法、转换方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111988171B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988171B (zh) | 基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及*** | |
US10331422B1 (en) | System and method for generating API devlopment code for integrating platforms | |
US7761885B2 (en) | Task computing | |
US7836439B2 (en) | System and method for extending a component-based application platform with custom services | |
US20060080336A1 (en) | Encapsulation and unified access scheme for components | |
EP1818820A1 (en) | System and method for installing custom services on a component-based application platform | |
EP2153346B1 (en) | Method of deriving web service interfaces from form and table metadata | |
Nguyen et al. | Ws2jade: Integrating web service with jade agents | |
US20080282222A1 (en) | Xml push and remote execution of a wireless applications | |
US20040015564A1 (en) | Method of developing a web service and marketing products or services used in developing a web service | |
CN101609415B (zh) | 基于中间件的通用服务调用***及方法 | |
US7783718B2 (en) | Locating services using compiled scopes | |
US9800475B2 (en) | Message oriented construction of web services | |
US20130318160A1 (en) | Device and Method for Sharing Data and Applications in Peer-to-Peer Computing Environment | |
AU2023251465A1 (en) | System and method for generating api development code for integrating platforms | |
CN113419729B (zh) | 基于组件化的前端页面搭建方法、装置、设备及存储介质 | |
US8972487B2 (en) | Automated framework for testing enterprise services consumer technologies | |
CN113179269B (zh) | 基于物联网的协议数据解析方法、***、介质 | |
Biörnstad et al. | Let it flow: Building mashups with data processing pipelines | |
CN101772196A (zh) | 处理移动终端发送的信息的方法和***以及代理服务器 | |
Bahlool et al. | Comparative study between web services technologies: Rest and wsdl | |
CN114116111A (zh) | 配置流程节点和数据处理的方法、装置、设备及介质 | |
CN112925998A (zh) | 界面数据处理方法、装置、***、电子设备及存储介质 | |
Ngargoto | Modeling and Simulation as a Service | |
EP1617329A1 (en) | Method of generating services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |