CN111865881A - 一种接口转换方法、装置、介质及计算机设备 - Google Patents
一种接口转换方法、装置、介质及计算机设备 Download PDFInfo
- Publication number
- CN111865881A CN111865881A CN201910359589.7A CN201910359589A CN111865881A CN 111865881 A CN111865881 A CN 111865881A CN 201910359589 A CN201910359589 A CN 201910359589A CN 111865881 A CN111865881 A CN 111865881A
- Authority
- CN
- China
- Prior art keywords
- node
- interface
- response information
- format
- conversion
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000004044 response Effects 0.000 claims abstract description 105
- 239000000344 soap Substances 0.000 claims description 41
- 239000002131 composite material Substances 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Document Processing Apparatus (AREA)
Abstract
本文公开了一种接口转换方法、装置、介质及计算机设备,此方法包括:接收第一类型文件,根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式,确定包括所述请求响应信息格式的用于进行源接口至目标接口的格式转换的第一转换规则,生成第二类型接口和第二类型文件;接收针对第二类型接口的访问请求,代理服务器读取第一转换规则,根据与第一转换规则相逆的第二转换规则将所述访问请求进行转换后,发送至源服务端。本文可以在不改变服务端代码前提下降低客户端使用成本的方式对请求,响应方式全方位转换,提供简明的文档。
Description
技术领域
本申请涉及但不限于互联网技术领域,尤其涉及一种接口转换方法、装置、介质及计算机设备。
背景技术
随着数字化产业的快速发展,应用程序接口(API,Application ProgramInterface)在企业中起到的作用越来越重要。API可以作为企业内部业务系统之间的桥梁,进行业务数据的交换、系统间的数据通道;也可以作为企业和合作伙伴之间的枢纽,进行数据的共享,还可以作为企业和用户之间的门户,将数据的读写权限通过API向用户开放。但由于业务系统开发架构、方式的不同,服务端需要以固定以soap请求和restful方式开放以方便客户端进行调用。
针对上述技术问题,目前最常见的两种解决方案分别是:
1、基于WCF服务同时开放rest和soap接口。
2、使用市场上的API网关、ESB类型的产品,对API进行统一接入和管理。
第一种方法的问题是同时在服务端暴露两种类型接口。这种方式的缺点包括三点,一:服务端之前可能只有soap服务接口或restful服务接口,这时想要提供另一种服务接口必须要更改服务端代码。二:自定义功能配置有限,对请求和返回形式进行更改以及权限的配置需要更改服务端代码,灵活度低。三:不会提供更便于相互沟通的swagger/wsdl文档。
第二种方法的问题是功能有限,扩展性低。因为常见的API网关、ESB类型产品往往只提供soap服务接口转rest服务接口,而没有提供将rest接口转soap接口的方式,且不提供swagger文档和wsdl文档。
发明内容
为了解决上述技术问题,本发明提供一种接口转换方法、装置、介质及计算机设备。
根据实施例的一个方面,提供了一种接口转换方法,包括:
接收第一类型文件,根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式,确定包括所述请求响应信息格式的用于进行源接口至目标接口的格式转换的第一转换规则,生成第二类型接口和第二类型文件;
接收针对第二类型接口的访问请求,代理服务器读取所述第一转换规则,根据与所述第一转换规则相逆的第二转换规则将所述访问请求进行转换后,发送至源服务端,将从所述源服务端接收到的响应信息转换为所述第一转换规则中的请求响应信息格式,向所述访问请求的发送方返回转换后的响应信息。
上述接口转换方法还具有以下特点:
所述第一类型文件是wsdl文件,所述第二类型文件是swagger文件,所述源接口是soap接口,所述目标接口是rest接口;
所述第一类型文件是swagger文件,所述第二类型文件是wsdl文件,所述源接口是rest接口,所述目标接口是soap接口。
上述接口转换方法还具有以下特点:
在获得目标接口的请求响应信息格式之后,所述方法还包括:接受用户对所述请求响应信息格式的自定义配置。
上述接口转换方法还具有以下特点:
所述用户对所述请求响应信息格式的自定义配置包括:
重新定义所述请求响应信息格式的参数的格式,将所述请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式;
所述将所述请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式包括以下转换方式中的至少一种:url转换,请求头信息转换,响应头信息转换,参数转换。
上述接口转换方法还具有以下特点:
所述第一类型文件是wsdl文件,所述第二类型文件是swagger文件时,
根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式包括:
将wsdl文件分解为层次化结构,从定义属性中查找到soap业务属性,在soap业务属性中找到用于表示soap的端口项,根据端口项中绑定项中的内容找到定义属性中的绑定节点,根据绑定节点中的操作项找到定义属性中端口类型属性中的操作节点并记录方法名,根据此操作节点中的输入项找到对应的消息节点,在消息节点中的部分项找到对应的节点,以此节点为起点,执行下述循环处理,直至重回到此节点:此节点是元素节点时记录名称后继续解析下一节点,在此节点是复合节点时,到schema节点找到对应的复合节点,逐层解析子节点,忽略非元素或者复合节点;此节点是元素时记录名称后继续解析下一节点,在此节点是复合节点时,到schema节点找到对应的复合节点。
根据实施例的另一个方面,提供了一种接口转换装置,包括:
第一接收模块,用于接收第一类型文件;
解析模块,用于根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式;
生成模块,用于确定包括所述请求响应信息格式的用于进行源接口至目标接口的格式转换的第一转换规则,生成第二类型接口和第二类型文件;
第二接收模块,用于接收针对第二类型接口的访问请求;
读取模块,用于读取所述第一转换规则;
转换模块,用于根据与所述第一转换规则相逆的第二转换规则将所述访问请求进行转换后;
第一发送模块,用于将转换后的请求发送至源服务端;
第三接收模块,用于从所述源服务端接收响应信息;
所述转换模块,还用于将从所述源服务端接收响应信息转换为所述第一转换规则中的请求响应信息格式;
第二发送模块,用于向所述访问请求的发送方返回转换后的响应信息。
上述接口转换装置还具有以下特点:
所述第一类型文件是wsdl文件,所述第二类型文件是swagger文件,所述源接口是soap接口,所述目标接口是rest接口;
所述第一类型文件是swagger文件,所述第二类型文件是wsdl文件,所述源接口是rest接口,所述目标接口是soap接口。
上述接口转换装置还具有以下特点:
还包括:
与所述解析模块相连接的配置接收模块,用于接受用户对所述请求响应信息格式的自定义配置。
上述接口转换装置还具有以下特点:
所述用户对所述请求响应信息格式的自定义配置包括:
重新定义所述请求响应信息格式的参数的格式,将所述请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式;
所述将所述请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式包括以下转换方式中的至少一种:url转换,请求头信息转换,响应头信息转换,参数转换。
上述接口转换装置还具有以下特点:
所述解析模块,还用于在所述第一类型文件是wsdl文件时,使用以下方法根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式:
将wsdl文件分解为层次化结构,从定义属性中查找到soap业务属性,在soap业务属性中找到用于表示soap的端口项,根据端口项中绑定项中的内容找到定义属性中的绑定节点,根据绑定节点中的操作项找到定义属性中端口类型属性中的操作节点并记录方法名,根据此操作节点中的输入项找到对应的消息节点,在消息节点中的部分项找到对应的节点,以此节点为起点,执行下述循环处理,直至重回到此节点:此节点是元素节点时记录名称后继续解析下一节点,在此节点是复合节点时,到schema节点找到对应的复合节点,逐层解析子节点,忽略非元素或者复合节点;此节点是元素时记录名称后继续解析下一节点,在此节点是复合节点时,到schema节点找到对应的复合节点。
根据实施例的另一个方面,提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。
根据实施例的另一个方面,提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
本发明可以在不改变服务端代码前提下降低客户端使用成本的方式对请求,响应方式全方位转换,提供简明的文档。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是实施例中接口转换方法的流程图;
图2是wsdl文档的结构示意图;
图3是swagger文档的结构示意图;
图4是实施例中接口转换装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图1所示,接口转换方法包括:
步骤101,接收第一类型文件,根据第一类型文件的定义方式,逐层解析第一类型文件,获得目标接口的请求响应信息格式,确定包括此请求响应信息格式的用于进行源接口至目标接口的格式转换的第一转换规则,生成第二类型接口和第二类型文件;
步骤102,接收针对第二类型接口的访问请求,代理服务器读取第一转换规则,根据与第一转换规则相逆的第二转换规则将访问请求进行转换后,发送至源服务端,将从源服务端接收到的响应信息转换为第一转换规则中的请求响应信息格式,向访问请求的发送方返回转换后的响应信息。
其中,第一转换规则是根据请求响应信息格式、源接口格式和目标接口格式定义出的、用于把请求响应信息格式从源接口格式转换为目标接口格式的规则。第二转换规则是与第一转换规则相逆的规则,是根据请求响应信息格式、源接口格式和目标接口格式定义出的、用于把请求响应信息格式从目标接口格式转换为源接口格式的规则。
本方法典型应用于以下两种场景:
第一种:第一类型文件是wsdl文件,第二类型文件是swagger文件,源接口是soap接口,目标接口是rest接口;
第二种:第一类型文件是swagger文件,第二类型文件是wsdl文件,源接口是rest接口,目标接口是soap接口。
图2是wsdl文档的结构示意图,参考图2,逐层解析wsdl文档获得目标接口的请求响应信息格式的方法包括:
将wsdl文件分解为层次化结构,从定义(definitions)属性中查找到soap业务(service)属性,在soap业务(service)属性中找到用于表示soap的端口(port)项,根据端口(port)项中绑定(binding)项中的内容找到定义(definitions)属性中的绑定(binding)节点,根据绑定(binding)节点中的操作(operation)项找到定义(definitions)属性中端口类型(portType)属性中的操作(operation)节点并记录方法名,根据此操作(operation)节点中的输入(input)项找到对应的消息(message)节点,在消息(message)节点中的部分(part)项找到对应的节点,以此节点为起点,执行下述循环处理,直至重回到此节点:此节点是元素(element)节点时记录名称后继续解析下一节点,在此节点是复合(complex)节点时,到schema节点找到对应的复合(complex)节点,逐层解析子节点,忽略非元素(element)或者复合(complex)节点;此节点是元素(element)时记录名称后继续解析下一节点,在此节点是复合(complex)节点时,到schema节点找到对应的复合(complex)节点。
图3是swagger文档的结构图,swagger文档涉及以下层次信息:
info。具体包括:title(用于表示接口标题)、description(用于表示接口文档的描述)、version(用于表示版本号)。
host。用于指定测试时的主机名,如果没有指定就是当前主机,可以指定端口。
basePath。用于定义api的前缀,必须已/开头。
Schemes。用于指定调用接口的协议,必须是:"http","https","ws","wss".即schemes接受一个数组参数。
例如:
schemes:
-http
-https
对应与http协议头request的Accept,调用者可接受类型,默认是*/*
这两个是对所有接口的全局设置,在细化的接口中是还可以对应这两个属性来覆盖全局属性
produces。
paths。用于定义可有可操作的API,是必添字段。还需要定义定义HTTP操作方法(例如get),是必填字段。
paths中包括summary(接口概要)、description:(接口描述)、responses(返回值描述)、tags:(标签)。responses内包括statuscode(状态码)、default(默认值)、example(示例)。statuscode(状态码)中包括description:(描述)和schema(返回值格式),default(默认值)中包括description:(描述)和schema(返回值格式)。
对于soap的xml结构化的参数,需要先进行扁平化,再转换为转换rest接口,例如:
例如XML结构化的参数的结构如下:
上述xml中结构化参数在转换rest时自动生成扁平化参数,将下述部分:<supportCity>
<byProvinceName>广东</byProvinceName>
</supportCity>
转换为扁平化的supportCity.byProvinceName。
本方法还可以包括人工配置的部分,具体的,在获得目标接口的请求响应信息格式之后,程序自动转换为默认的格式,接受用户对此请求响应信息格式的自定义配置。
用户对请求响应信息格式的自定义配置包括:重新定义所述请求响应信息格式的参数的格式。将请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式包括以下转换方式中的至少一种:url转换,请求头信息转换,响应头信息转换,参数转换。具体的,请求响应信息格式的参数包括以下参数中的至少一种:方法名称,参数名称,参数类型,源端口地址,文件头。对于url转换,程序首先根据接口名称智能判断出合适的方法名称和路径。用户可以自定义更改。对于请求头信息转换,程序首先生成大多数情况下使用的五个content-type类型。用户可以进行更改。对于参数转换,程序首先生成默认的扁平化参数,用户可以针对程序生成的参数进行转换。例如,在上述举例中,用户在进行自定义设置时,可以设置supportCity.byProvinceName转换为ProvinceName。
例如,在上述举例中,用户在进行自定义设置时,可以设置byProvinceName均转换为ProvinceName。
具体实施例一
应用场景为:从soap接口转换为rest接口的应用场景。
从用户接收wsdl文件,解析wsdl文件获得方法名称、参数类型、参数名称、参数默认值、schema、header信息、源地址。用户可以自定义请求头信息、请求格式、请求类型、请求路径,根据用户的自定义对rest接口的请求响应信息格式进行设置和转换,根据header信息、schema和自定义设置后的参数信息生成XML模版,用户自定义响应类型、响应格式、响应示例并存储于数据库。
代理服务器接收到客户端的访问请求后,从数据库中获取已经从rest接口转换至的soap接口的相关信息,从此访问请求中解析出参数并写入XML模板,将请求类型设置为POST,XML格式的信息发送至源地址,从源地址接收到响应信息后,根据用户定义的响应格式重新封装后,返回至客户端。
具体实施例二
应用场景为:从rest接口转换为soap接口的应用场景。
从用户接收swagger文件,解析swagger文件获取响应信息,用户可以自定义参数名称、参数默认值;根据用户的自定义对soap接口的请求响应信息格式进行设置和转换,根据设置和转换后的参数信息生成虚拟的soap客户端。
代理服务器接收到客户端的访问请求后,从数据库中获取已经从soap接口转换至的rest接口的相关信息,解析相关信息获得参数的真实值,将此请求的请求类型格式参数转换为从数据中获取的rest接口格式,发送至源地址,从源地址接收到响应信息后,将响应信息转换为soap xml格式的信息,返回至客户端。
图4是一种实施例中接口转换装置的结构图,此装置包括:
第一接收模块,用于接收第一类型文件;
解析模块,用于根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式;
生成模块,用于确定包括所述请求响应信息格式的用于进行源接口至目标接口的格式转换的第一转换规则,生成第二类型接口和第二类型文件;
第二接收模块,用于接收针对第二类型接口的访问请求;
读取模块,用于读取所述第一转换规则;
第一转换模块,用于根据与所述第一转换规则相逆的第二转换规则将所述访问请求进行转换后;
第一发送模块,用于将转换后的请求发送至源服务端;
接收模块,用于从所述源服务端接收响应信息;
第二转换模块,用于将从所述源服务端接收响应信息转换为所述第一转换规则中的请求响应信息格式;
第二发送模块,用于向所述访问请求的发送方返回转换后的响应信息。
其中,
第一类型文件是wsdl文件,第二类型文件是swagger文件,源接口是soap接口,目标接口是rest接口;或者,第一类型文件是swagger文件,第二类型文件是wsdl文件,源接口是rest接口,目标接口是soap接口。
本装置还包括:与所述解析模块相连接的配置接收模块,用于接受用户对所述请求响应信息格式的自定义配置。
上述用户对所述请求响应信息格式的自定义配置包括:重新定义所述请求响应信息格式的参数的格式,将所述请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式;所述将所述请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式包括以下转换方式中的至少一种:url转换,请求头信息转换,响应头信息转换,参数转换。
解析模块,还用于在所述第一类型文件是wsdl文件时,使用以下方法根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式:
将wsdl文件分解为层次化结构,从定义属性中查找到soap业务属性,在soap业务属性中找到用于表示soap的端口项,根据端口项中绑定项中的内容找到定义属性中的绑定节点,根据绑定节点中的操作项找到定义属性中端口类型属性中的操作节点并记录方法名,根据此操作节点中的输入项找到对应的消息节点,在消息节点中的部分项找到对应的节点,以此节点为起点,执行下述循环处理,直至重回到此节点:此节点是元素节点时记录名称后继续解析下一节点,在此节点是复合节点时,到schema节点找到对应的复合节点,逐层解析子节点,忽略非元素或者复合节点;此节点是元素时记录名称后继续解析下一节点,在此节点是复合节点时,到schema节点找到对应的复合节点。
根据实施例的另一个方面,本文还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。
根据实施例的另一个方面,本文还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (12)
1.一种接口转换方法,其特征在于,包括:
接收第一类型文件,根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式,确定包括所述请求响应信息格式的用于进行源接口至目标接口的格式转换的第一转换规则,生成第二类型接口和第二类型文件;
接收针对第二类型接口的访问请求,代理服务器读取所述第一转换规则,根据与所述第一转换规则相逆的第二转换规则将所述访问请求进行转换后,发送至源服务端,将从所述源服务端接收到的响应信息转换为所述第一转换规则中的请求响应信息格式,向所述访问请求的发送方返回转换后的响应信息。
2.如权利要求1所述的接口转换方法,其特征在于,
所述第一类型文件是wsdl文件,所述第二类型文件是swagger文件,所述源接口是soap接口,所述目标接口是rest接口;
所述第一类型文件是swagger文件,所述第二类型文件是wsdl文件,所述源接口是rest接口,所述目标接口是soap接口。
3.如权利要求1所述的接口转换方法,其特征在于,
在获得目标接口的请求响应信息格式之后,所述方法还包括:接受用户对所述请求响应信息格式的自定义配置。
4.如权利要求3所述的接口转换方法,其特征在于,
所述用户对所述请求响应信息格式的自定义配置包括:
重新定义所述请求响应信息格式的参数的格式,将所述请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式;
所述将所述请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式包括以下转换方式中的至少一种:url转换,请求头信息转换,响应头信息转换,参数转换。
5.如权利要求2所述的接口转换方法,其特征在于,
所述第一类型文件是wsdl文件,所述第二类型文件是swagger文件时,
根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式包括:
将wsdl文件分解为层次化结构,从定义属性中查找到soap业务属性,在soap业务属性中找到用于表示soap的端口项,根据端口项中绑定项中的内容找到定义属性中的绑定节点,根据绑定节点中的操作项找到定义属性中端口类型属性中的操作节点并记录方法名,根据此操作节点中的输入项找到对应的消息节点,在消息节点中的部分项找到对应的节点,以此节点为起点,执行下述循环处理,直至重回到此节点:此节点是元素节点时记录名称后继续解析下一节点,在此节点是复合节点时,到schema节点找到对应的复合节点,逐层解析子节点,忽略非元素或者复合节点;此节点是元素时记录名称后继续解析下一节点,在此节点是复合节点时,到schema节点找到对应的复合节点。
6.一种接口转换装置,其特征在于,包括:
第一接收模块,用于接收第一类型文件;
解析模块,用于根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式;
生成模块,用于确定包括所述请求响应信息格式的用于进行源接口至目标接口的格式转换的第一转换规则,生成第二类型接口和第二类型文件;
第二接收模块,用于接收针对第二类型接口的访问请求;
读取模块,用于读取所述第一转换规则;
转换模块,用于根据与所述第一转换规则相逆的第二转换规则将所述访问请求进行转换后;
第一发送模块,用于将转换后的请求发送至源服务端;
第三接收模块,用于从所述源服务端接收响应信息;
所述转换模块,还用于将从所述源服务端接收响应信息转换为所述第一转换规则中的请求响应信息格式;
第二发送模块,用于向所述访问请求的发送方返回转换后的响应信息。
7.如权利要求6所述的接口转换装置,其特征在于,
所述第一类型文件是wsdl文件,所述第二类型文件是swagger文件,所述源接口是soap接口,所述目标接口是rest接口;
所述第一类型文件是swagger文件,所述第二类型文件是wsdl文件,所述源接口是rest接口,所述目标接口是soap接口。
8.如权利要求6所述的接口转换装置,其特征在于,
还包括:
与所述解析模块相连接的配置接收模块,用于接受用户对所述请求响应信息格式的自定义配置。
9.如权利要求8所述的接口转换装置,其特征在于,
所述用户对所述请求响应信息格式的自定义配置包括:
重新定义所述请求响应信息格式的参数的格式,将所述请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式;
所述将所述请求响应信息格式中的原参数的格式转换为重新定义后的参数的格式包括以下转换方式中的至少一种:url转换,请求头信息转换,响应头信息转换,参数转换。
10.如权利要求7所述的接口转换装置,其特征在于,
所述解析模块,还用于在所述第一类型文件是wsdl文件时,使用以下方法根据所述第一类型文件的定义方式,逐层解析所述第一类型文件,获得目标接口的请求响应信息格式:
将wsdl文件分解为层次化结构,从定义属性中查找到soap业务属性,在soap业务属性中找到用于表示soap的端口项,根据端口项中绑定项中的内容找到定义属性中的绑定节点,根据绑定节点中的操作项找到定义属性中端口类型属性中的操作节点并记录方法名,根据此操作节点中的输入项找到对应的消息节点,在消息节点中的部分项找到对应的节点,以此节点为起点,执行下述循环处理,直至重回到此节点:此节点是元素节点时记录名称后继续解析下一节点,在此节点是复合节点时,到schema节点找到对应的复合节点,逐层解析子节点,忽略非元素或者复合节点;此节点是元素时记录名称后继续解析下一节点,在此节点是复合节点时,到schema节点找到对应的复合节点。
11.一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现权利要求1至5中任意一项所述方法的步骤。
12.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910359589.7A CN111865881A (zh) | 2019-04-30 | 2019-04-30 | 一种接口转换方法、装置、介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910359589.7A CN111865881A (zh) | 2019-04-30 | 2019-04-30 | 一种接口转换方法、装置、介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111865881A true CN111865881A (zh) | 2020-10-30 |
Family
ID=72966581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910359589.7A Pending CN111865881A (zh) | 2019-04-30 | 2019-04-30 | 一种接口转换方法、装置、介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865881A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461207A (zh) * | 2021-11-30 | 2022-05-10 | 深圳银兴科技开发有限公司 | 消息转换集成组件 |
CN114816403A (zh) * | 2022-04-19 | 2022-07-29 | 北京字节跳动网络技术有限公司 | 一种请求处理方法、装置、设备及存储介质 |
CN115297102A (zh) * | 2022-06-23 | 2022-11-04 | 青岛海尔科技有限公司 | 文件导出方法、装置和系统 |
CN115509647A (zh) * | 2022-11-21 | 2022-12-23 | 深圳市蓝凌软件股份有限公司 | Api接口访问方法、转换方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716308A (zh) * | 2013-12-17 | 2014-04-09 | 北京京东尚科信息技术有限公司 | 一种多协议平台通信方法及多协议平台 |
CN108471441A (zh) * | 2018-03-15 | 2018-08-31 | 广东科达洁能股份有限公司 | 一种sap中间件以及利用该sap中间件的sap r3双向通讯方法 |
CN108667866A (zh) * | 2017-03-29 | 2018-10-16 | 贵州白山云科技有限公司 | 一种基于api智能适配的请求处理方法及装置 |
CN109213519A (zh) * | 2018-09-14 | 2019-01-15 | 北京数聚鑫云信息技术有限公司 | 一种异构api适配处理方法及系统 |
WO2019043462A1 (en) * | 2017-08-30 | 2019-03-07 | Tata Consultancy Services Limited | SYSTEMS AND METHODS FOR CREATING AUTOMATED INTERFACE TRANSMISSION BETWEEN HETEROGENEOUS SYSTEMS IN A BUSINESS ECOSYSTEM |
-
2019
- 2019-04-30 CN CN201910359589.7A patent/CN111865881A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716308A (zh) * | 2013-12-17 | 2014-04-09 | 北京京东尚科信息技术有限公司 | 一种多协议平台通信方法及多协议平台 |
CN108667866A (zh) * | 2017-03-29 | 2018-10-16 | 贵州白山云科技有限公司 | 一种基于api智能适配的请求处理方法及装置 |
WO2019043462A1 (en) * | 2017-08-30 | 2019-03-07 | Tata Consultancy Services Limited | SYSTEMS AND METHODS FOR CREATING AUTOMATED INTERFACE TRANSMISSION BETWEEN HETEROGENEOUS SYSTEMS IN A BUSINESS ECOSYSTEM |
CN108471441A (zh) * | 2018-03-15 | 2018-08-31 | 广东科达洁能股份有限公司 | 一种sap中间件以及利用该sap中间件的sap r3双向通讯方法 |
CN109213519A (zh) * | 2018-09-14 | 2019-01-15 | 北京数聚鑫云信息技术有限公司 | 一种异构api适配处理方法及系统 |
Non-Patent Citations (1)
Title |
---|
FARIA REHMAN: "API Transformer Recipes-Facilitating Migration from SOAP to REST", 《HTTPS://DEVAPI.DREAM.PRESS/2018/12/API-TRANSFORMER-RECIPES-FACILITATING-MIGRATION-FROM-SOAP-TO-REST/》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461207A (zh) * | 2021-11-30 | 2022-05-10 | 深圳银兴科技开发有限公司 | 消息转换集成组件 |
CN114816403A (zh) * | 2022-04-19 | 2022-07-29 | 北京字节跳动网络技术有限公司 | 一种请求处理方法、装置、设备及存储介质 |
CN115297102A (zh) * | 2022-06-23 | 2022-11-04 | 青岛海尔科技有限公司 | 文件导出方法、装置和系统 |
CN115509647A (zh) * | 2022-11-21 | 2022-12-23 | 深圳市蓝凌软件股份有限公司 | Api接口访问方法、转换方法、装置、设备及存储介质 |
CN115509647B (zh) * | 2022-11-21 | 2023-03-03 | 深圳市蓝凌软件股份有限公司 | Api接口访问方法、转换方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111865881A (zh) | 一种接口转换方法、装置、介质及计算机设备 | |
US10331422B1 (en) | System and method for generating API devlopment code for integrating platforms | |
US8478800B1 (en) | Log streaming facilities for computing applications | |
CN108964968A (zh) | 一种容器云环境下的服务接入管理方法和系统 | |
US9203907B2 (en) | Method, server and client in implementing service Mashup for web applications integrations through dynamic cooperation of client and server | |
CN104363507B (zh) | 一种基于ott机顶盒的视音频录制及分享方法及系统 | |
US20100194896A1 (en) | Automatically tagging images with nearby short range communication device information | |
AU2014400621B2 (en) | System and method for providing contextual analytics data | |
AU2023251465A1 (en) | System and method for generating api development code for integrating platforms | |
CN109446648B (zh) | 仿真服务建立方法及装置 | |
CN107632875A (zh) | 电商接口集成方法、系统、计算机设备、可读存储介质 | |
CN110362547A (zh) | 日志文件的编码、解析、存储方法和装置 | |
CN111124861A (zh) | 网页数据的录制方法、网页数据录制装置及可读存储介质 | |
CN111427613B (zh) | 一种应用程序接口api管理方法和装置 | |
US8843587B2 (en) | Retrieving availability information from published calendars | |
CN104486371A (zh) | 批量下载文件的设备和方法 | |
CN111897978A (zh) | 直播状态监测方法、装置、电子设备及存储介质 | |
US8972487B2 (en) | Automated framework for testing enterprise services consumer technologies | |
US11632411B2 (en) | Method and apparatus for cascaded multi-input content preparation templates for 5G networks | |
CN109255082B (zh) | 页签显示方法及装置 | |
US9225768B2 (en) | Providing network-applicable content | |
CN111143310B (zh) | 日志记录方法及装置、可读存储介质 | |
CN109005163B (zh) | 一种http动态请求服务调用方法 | |
US20160188748A1 (en) | Method for providing information to determine a graph associated with a data item | |
CN109600403B (zh) | 一种发送信息的方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201030 |