CN102891837B - 消息转换处理方法、桥接设备和通信系统 - Google Patents
消息转换处理方法、桥接设备和通信系统 Download PDFInfo
- Publication number
- CN102891837B CN102891837B CN201110208224.8A CN201110208224A CN102891837B CN 102891837 B CN102891837 B CN 102891837B CN 201110208224 A CN201110208224 A CN 201110208224A CN 102891837 B CN102891837 B CN 102891837B
- Authority
- CN
- China
- Prior art keywords
- message
- wsdl
- idl
- bridging device
- network element
- 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.)
- Expired - Fee Related
Links
Landscapes
- Communication Control (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种消息转换处理方法、桥接设备和通信系统。方法,包括:桥接设备接收第一网元发送的第一类型消息;所述桥接设备根据标签属性信息、接口描述语言IDL中各case分支以及Web服务描述语言WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息;所述桥接设备将所述第二类型消息发送给第二网元。本发明实施例在IDL消息与WSDL消息之间的转换均能够基于该标签属性信息的存在而不会发生转换错误的问题。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及一种消息转换处理方法、桥接设备和通信系统。
背景技术
接口描述语言(InterfaceDescriptionLanguage,以下简称:IDL)是一种描述软件组件接口的语言规范,Web服务描述语言(WebServicesDescriptionLanguage,以下简称:WSDL)是一种用来描述Web服务和说明如何与Web服务通信的文本描述语言。
在现有技术中,WSDL可以应用于互联网系统中,而IDL则可以应用于某些通信系统中,例如公共对象请求代理结构(CommonObjectRequestBrokerArchitecture,以下简称:CORBA)系统中。当互联网系统与通信系统进行交互访问时,采用WSDL描述的互联网系统消息与采用IDL描述的通信系统消息需要在位于互联网系统与通信系统之间的桥接设备上进行协议转换。具体来说,现有技术采用对象管理组织(ObjectManagementGroup,以下简称:OMG)规范对上述两种语言描述的消息进行转换。
但是,采用OMG规范仅能对简单的消息体进行转换,而对于复杂的消息体,例如Union结构的消息体,采用OMG规范对IDL描述的消息和WSDL描述的消息进行转换时,经常出现转换错误的问题。
例如:以Union结构的数据结构举例,对采用OMG规范对IDL消息和WSDL消息进行转换过程中存在的问题进行详细说明。
假设IDL中定义的语义为:
在该IDL定义的语义中,Union数据结构可以包括5个分支,即4个case分支和一个default分支,case0对应的变量名为l,变量类型为long,case1对应的变量名为str,变量类型为string,case2和case3对应的变量名均为f,变量类型为float,default对应的变量名为o,变量类型为octet。需要说明的是,在IDL中,如果连续的case具有相同的变量名和变量类型,则在该连续的case中,只在最后一个case处描述变量名和变量类型,而之前的case的变量名和变量值均默认为空,这也正是上述case2的变量名和变量值为空的原因。因此,IDL中的各case分支之间不仅能够体现位置关系或者顺序关系,还能够体现跳跃关系,例如上述case2和case3之间的关系。
基于OMG规范的内容,与上述IDL定义的语义对应的WSDL中定义的语义为:
在WSDL定义的语义中,Union数据结构中的每个choice元素可以描述IDL中的一个变量,这4个choice元素分别为与元素名(elementname)为“l”对应的choice元素,与elementname=“str”对应的choice元素,与elementname=“f”对应的choice元素和与elementname=“o”对应的choice元素。在WSDL中,各choice元素之间只是位置关系或者顺序关系,而不能体现跳跃关系,也即不能体现上述IDL中case2和case3之间的关系。
基于上述的IDL和WSDL的语义描述,OMG规范中规定,IDL中位于第一个位置的case0与WSDL中位于第一个位置的elementname=“l”相对应,IDL中位于第二个位置的case1与WSDL中位于第二个位置的elementname=“str”相对应,IDL中位于第三个位置的case2与WSDL中位于第三个位置的elementname=“f”相对应,IDL中位于第四个位置的case3与WSDL中位于第四个位置的elementname=“o”相对应。由此可以看出,IDL中的case3与WSDL中的elementname=“o”的对应关系是错误的,而IDL中的default分支则语义丢失。
由以上分析可知,上述IDL中的case2之前的case0和case1在与WSDL中对应的choice元素进行转换时语义没有错误,而case2之后的case3和default分支的在于WSDL中对应的choice元素进行转换时语义会出现错误。另外,由于IDL中的各case的位置可以重排,WSDL中的各choice元素的位置也可以重排,因此,在重排后,IDL与WSDL之间的语义更加没有关联性,在消息转换过程中的错误率更高。
发明内容
本发明实施例提供一种消息转换处理方法、桥接设备和通信系统。
本发明实施例提供一种消息转换处理方法,包括:
桥接设备接收第一网元发送的第一类型消息;
所述桥接设备根据标签属性信息、接口描述语言IDL中各case分支以及Web服务描述语言WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息;
所述桥接设备将所述第二类型消息发送给第二网元;
其中,所述第一网元为互联网系统中的服务器,所述第二网元为通信系统中的节点设备,所述第一类型消息为采用WSDL描述的消息,所述第二类型消息为采用IDL描述的消息,或者,所述第一网元为通信系统中的节点设备,所述第二网元为互联网系统中的服务器,所述第一类型消息为采用IDL描述的消息,所述第二类型消息为采用WSDL描述的消息。
本发明实施例提供一种桥接设备,包括:
第一接收模块,用于接收第一网元发送的第一类型消息;
转换处理模块,用于根据标签属性信息、接口描述语言IDL中各case分支以及Web服务描述语言WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息;
发送模块,用于将所述第二类型消息发送给第二网元;
其中,所述第一网元为互联网系统中的服务器,所述第二网元为通信系统中的节点设备,所述第一类型消息为采用WSDL描述的消息,所述第二类型消息为采用IDL描述的消息,或者,所述第一网元为通信系统中的节点设备,所述第二网元为互联网系统中的服务器,所述第一类型消息为采用IDL描述的消息,所述第二类型消息为采用WSDL描述的消息。
本发明实施例提供一种通信系统,包括桥接设备和与所述桥接设备连接的至少一个节点设备;
所述节点设备,用于向所述桥接设备发送第一类型消息,并接收所述桥接设备发送的第二类型消息;
所述桥接设备,用于接收所述节点设备发送的第一类型消息,根据标签属性信息、接口描述语言IDL中各case分支以及Web服务描述语言WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息,并将所述第二类型消息发送给互联网系统中的服务器;或者用于接收所述互联网系统中的服务器发送的第二类型消息,根据所述关联关系,对所述第二类型消息进行转换处理,获取第一类型消息,并将所述第一类型消息发送给所述节点设备;
所述第一类型消息为采用IDL描述的消息,所述第二类型消息为采用WSDL描述的消息。
本发明实施例,通过采用标签属性信息将IDL中各case分支与WSDL中的各choice元素关联起来,从而形成IDL中各case分支与WSDL中的各choice元素之间确定的对应关系。因此,不管IDL中是否存在某一case分支的变量名和变量类型为空的情形,也不管IDL中的各case分支的前后顺序发生变化或者WSDL中的各choice元素的前后顺序发生变化,桥接设备对IDL消息与WSDL消息进行转换处理均能够基于该标签属性信息的存在而不会发生转换错误的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明消息转换处理方法一个实施例的流程图;
图2为本发明消息转换处理方法另一个实施例的信令流程图;
图3为本发明消息转换处理方法再一个实施例的信令流程图;
图4为本发明桥接设备一个实施例的结构示意图;
图5为本发明桥接设备另一个实施例的结构示意图;
图6为本发明桥接设备再一个实施例的结构示意图;
图7为本发明通信系统实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明下述实施例提供了相应的技术方案。下面对本发明实施例的技术方案进行详细说明。
图1为本发明消息转换处理方法一个实施例的流程图,如图1所示,本实施例的方法可以包括:
步骤101、桥接设备接收第一网元发送的第一类型消息。
步骤102、桥接设备根据标签属性信息与WSDL中各choice元素之间的对应关系,对所述第一类型消息进行转换处理,获取第二类型消息。
步骤103、所述桥接设备将所述第二类型消息发送给第二网元。
其中,所述第一网元为互联网系统中的服务器,所述第二网元为通信系统中的节点设备,所述第一类型消息为采用WSDL描述的消息,所述第二类型消息为采用IDL描述的消息,或者,所述第一网元为通信系统中的节点设备,所述第二网元为互联网系统中的服务器,所述第一类型消息为采用IDL描述的消息,所述第二类型消息为采用WSDL描述的消息。
本实施例可以采用标签属性信息将IDL中的各case分支与WSDL中的各choice元素关联起来。具体来说,位于互联网系统和通信系统之间的桥接设备上可以存储标签属性信息、IDL中的各case分支以及WSDL中的各choice元素之间的关联关系。
因此,不管IDL中是否存在如上述case2分支的变量名和变量类型为空的情形,也不管IDL中的各case分支的前后顺序发生变化或者WSDL中的各choice元素的前后顺序发生变化,该标签属性信息的存在都能维持IDL中的各case分支与WSDL中的各choice元素之间的对应关系,从而避免发生转换错误的问题。
以第一类型消息为采用WSDL描述的消息,第二类型消息为采用IDL描述的消息为例来说,桥接设备可以接收互联网系统中的服务器发送的WSDL消息,该WSDL消息中即可包含采用choice元素结构描述的消息体,桥接设备即可根据上述的关联关系,对该WSDL消息进行转换,举例来说,可以是以上述关联关系中的标签属性信息为桥梁,将WSDL消息中的choice元素结构描述的消息体转换为IDL中对应的case分支描述的消息体,从而获取IDL消息。然后,桥接设备即可将转换获取的IDL消息发送给通信系统,例如可以是CORBA系统。
以第一类型消息为采用IDL描述的消息,第二类型消息为采用WSDL描述的消息为例来说,桥接设备可以接收通信系统,例如是CORBA系统中的节点设备发送的IDL消息,该IDL消息中即可包含采用case结构描述的消息体,桥接设备即可根据上述的关联关系,对该IDL消息进行转换,举例来说,可以是以上述关联关系中的标签属性信息为桥梁,将IDL消息中的case结构描述的消息体转换为WSDL中对应的choice元素描述的消息体,从而获取WSDL消息。然后,桥接设备即可将转换获取的WSDL消息发送给互联网系统中的服务器。
本实施例,通过采用标签属性信息将IDL中各case分支与WSDL中的各choice元素关联起来,从而形成IDL中各case分支与WSDL中的各choice元素之间确定的对应关系。因此,不管IDL中是否存在某一case分支的变量名和变量类型为空的情形,也不管IDL中的各case分支的前后顺序发生变化或者WSDL中的各choice元素的前后顺序发生变化,桥接设备在对IDL消息与WSDL消息进行的转换处理均能够基于该标签属性信息的存在而不会发生转换错误的问题。
下面采用两个具体实施例,对上述图1所示方法实施例的技术方案进行详细说明。
图2为本发明消息转换处理方法另一个实施例的信令流程图,如图2所示,本实施例可以应用于IDL消息转换为WSDL消息的场景,也即通信系统访问互联网系统的场景,在本实施例中,该通信系统可以例如采用CORBA系统。本实施例的方法可以包括:
步骤201、CORBA系统中的节点设备向CORBA系统中的桥接设备发送WSDL注册文件。
步骤202、桥接设备解析该WSDL注册文件,获取关联关系。
本实施例仍以前述IDL的语义定义为例进行说明,而且仍以Union结构的数据结构为例进行说明,本领域技术人员可以理解的是,本发明实施例并不限定必须针对Union结构的数据结构,而是可以针对在进行消息转换时存在对应关系不确定的任意类型的数据结构中,例如Enum类型的数据结构。
针对该IDL的语义定义,节点设备发送给桥接设备的WSDL注册文件可以包括如下WSDL的语义定义:
<xsd:complexTypename="Example.myUnion">
<xsd:sequence>
<xsd:elementname="discriminator"type="xsd:int"/>
<xsd:choice>
<!--case0-->
<xsd:elementname="l"tns:tag="0"type="xsd:int"minOccurs="0"maxOccurs="1"/>
<!--case1-->
<xsd:elementname="str"tns:tag="1"type="xsd:string"nillable="true"minOccurs="0"maxOccurs="1"/>
<!--case2,3-->
<xsd:elementname="f"tns:tag="2,3"type="xsd:float"minOccurs="0"maxOccurs="1"/>
<!--defaultcase-->
<xsd:elementname="o"type="xsd:byte"
minOccurs="0"maxOccurs="1"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
由此可知,本实施例中的WSDL的语义定义与前述WSDL的语义定义的区别在于,在Union结构的complextype中每个choice元素中均增加一个tag,该tag的值与该choice元素对应的IDL中的case分支的标识之间具有关联关系。例如,增加的tag="2,3",即可以表示elementname为"f"的choice元素是与IDL中的case2和case3相对应的。
以此类推,桥接设备即可获取如下所示的关联关系:
tag=“0”-------name=“l”type=“xsd:int”
tag=“1”-------name=“str”type=“xsd:string”
tag=“2,3”-------name=“f”type=“xsd:float”
tag=-------name=“o”type=“xsd:byte”
需要说明的是,在WSDL注册文件中,如果是对应于IDL中的default分支的choice元素,由于IDL中的default分支只有一个,因此,该default分支可以不用tag标识,例如:
<xsd:elementname="o"type="xsd:byte"minOccurs="0"maxOccurs="1"/>
对于IDL中的多个case采用相同变量名和变量类型的情况,即如case2和case3的情况,tag比较特殊,该tag允许引用多值并用逗号分隔,例如:
<xsd:elementname="f"tns:tag="2,3"type="xsd:float"minOccurs="0"maxOccurs="1"/>
如果IDL中具有连续相同的变量名和变量类型的case较多,则可以采用连接号进行连接,例如:tns:tag=”4-6”。
由此可知,基于WSDL注册文件中包含的WSDL语义定义所获取的关联关系,其Union结构的complextype中每个choice元素可以对应至少一个标签属性信息,每个标签属性信息与IDL中Union结构的switch中的各case分支对应;若每个choice元素对应两个或者两个以上标签属性信息,则所述两个或者两个以上标签属性信息并列包含在该choice元素中。
步骤203、节点设备向桥接设备发送IDL消息。
举例来说,节点设备向桥接设备发送的IDL消息包含的Union结构的消息体可以用A和B两部分表示,其中A为IDL中定义的case分支的标识,B为该case分支中的变量值。
以上述IDL的语义定义为例来说,存在定义case1:stringstr;则A=1,B为变量str的值,如“HELLOWORLD”。
步骤204、桥接设备将该IDL消息转换为WSDL描述的SOAP消息。
举例来说,桥接设备可以根据上述关联关系,确定与case分支的标识对应的tag。例如,若A=1,B为“HELLOWORLD”,则桥接设备可以根据上述关联关系,确定与case分支的标识“1”对应的tag,即tag=“1”,然后,根据tag=“1”以及上述关联关系,确定choice元素为name=“str”type=“xsd:string”,接着,桥接设备可以将B的值“HELLOWORLD”赋给WSDL中的变量str,将A的值赋给WSDL中的discriminator变量。对于A表示其它case分支的标识的情况来说,其与上述转换处理过程类似,此处不再一一赘述。
经过上述转换处理后,桥接设备即可获取WSDL消息,在本实施例中,该WSDL消息即为SOAP消息,该SOAP消息中包含的转换后的消息体如下所示:
步骤205、桥接设备将SOAP消息发送给互联网系统中的服务器。
步骤206、互联网系统中的服务器向桥接设备发送SOAP应答消息。
步骤207、桥接设备将SOAP应答消息转换为IDL描述的应答消息。
步骤208、桥接设备将IDL描述的应答消息发送给节点设备。
步骤207中的转换描述的是不包含类似于Union结构的消息体的消息转换,因此,其采用现有的WSDL到IDL的转换也不会出错,如果在该SOAP应答消息中也包含类似于Union结构的消息体,则对应的消息转换可以采用与步骤204类似的操作,此处不再赘述。另外,需要说明的是,步骤201和步骤202仅是预处理过程,在具体应用时只需要进行一次操作,后续的各次消息的转换处理过程可以直接从步骤203开始执行。
本实施例,通过采用标签属性信息将IDL中各case分支与WSDL中的各choice元素关联起来,从而形成IDL中各case分支与WSDL中的各choice元素之间确定的对应关系。不管IDL中是否存在某一case分支的变量名和变量类型为空的情形,也不管IDL中的各case分支的前后顺序发生变化或者WSDL中的各choice元素的前后顺序发生变化,将IDL消息转换为WSDL消息的过程均能够基于该标签属性信息的存在而不会发生转换错误的问题。
图3为本发明消息转换处理方法再一个实施例的信令流程图,如图3所示,本实施例可以应用于WSDL消息转换为IDL消息的场景,也即互联网系统访问通信系统的场景,在本实施例中,该通信系统仍可以例如采用CORBA系统。本实施例的方法可以包括:
步骤301、互联网系统中的服务器向CORBA系统中的桥接设备发送WSDL注册文件。
步骤302、桥接设备解析该WSDL注册文件,获取关联关系。
步骤301~302的执行过程与上述步骤201~202的执行过程类似,其区别仅在于部署WSDL注册文件的执行主体不同。本实施例仍以上述图2所示实施例中步骤202获取的关联关系为例进行说明。
步骤303、互联网系统中的服务器向桥接设备发送WSDL消息。
举例来说,服务器向桥接设备发送的WSDL消息包含Union结构的消息体,该Union结构的消息体的choice元素中可以包含变量名、变量值以及discriminator的值。例如,该Union结构的消息体可以如下所示:
该Union结构的消息体中的变量名为l,变量值为85,discriminator的值为100。
步骤304、桥接设备将该WSDL消息转换为IDL消息。
举例来说,桥接设备可以根据上述关联关系,确定与变量名“l”对应的tag,即tag=“0”,然后,根据该tag=“0”即可确定IDL中的case分支的标识为0,也即对应的IDL中的case分支为case0。之后,桥接设备可以将确定的case分支的标识,例如“0”赋值给IDL消息中包含的Union结构的消息体中的case分支中的标识,将变量值“85”赋值给case分支中的变量值,获取IDL消息,举例来说,case分支的标识“0”可以赋值给IDL消息中的A部分,而变量值“85”可以赋值给IDL消息中的B部分。
需要说明的是,尽管discriminator的值为100,但根据tag的定义其值为0,本实施例采用将tag值“0”写到IDL消息中,而如果步骤302中对WSDL注册文件解析后得不到对应choice元素和tag的对应关系,则可以将discriminator的值“100”写入IDL消息中。经过上述转换处理后,桥接设备即可获取IDL消息。
步骤305、桥接设备将IDL消息发送给CORBA系统中的节点设备。
步骤306、CORBA系统中的节点设备向桥接设备发送IDL应答消息。
步骤307、桥接设备将IDL应答消息转换为WSDL描述的应答消息。
步骤308、桥接设备将WSDL描述的应答消息发送给互联网系统中的服务器。
步骤307中的转换描述的是不包含类似于Union结构的消息体的消息转换,因此,其采用现有的IDL到WSDL的转换也不会出错,如果在该IDL应答消息中也包含类似于Union结构的消息体,则对应的消息转换可以采用与步骤304类似的操作,此处不再赘述。另外,需要说明的是,步骤301和步骤302也仅是预处理过程,在具体应用时只需要进行一次操作,后续的各次消息的转换处理过程可以直接从步骤303开始执行。
本实施例,通过采用标签属性信息将IDL中各case分支与WSDL中的各choice元素关联起来,从而形成IDL中各case分支与WSDL中的各choice元素之间确定的对应关系。不管IDL中是否存在某一case分支的变量名和变量类型为空的情形,也不管IDL中的各case分支的前后顺序发生变化或者WSDL中的各choice元素的前后顺序发生变化,将WSDL消息转换为IDL消息的过程均能够基于该标签属性信息的存在而不会发生转换错误的问题。
图4为本发明桥接设备一个实施例的结构示意图,如图4所示,本实施例的设备可以包括:第一接收模块11、转换处理模块12以及发送模块13,其中,第一接收模块11用于接收第一网元发送的第一类型消息;转换处理模块12用于根据标签属性信息、接口描述语言IDL中各case分支以及Web服务描述语言WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息;发送模块13用于将所述第二类型消息发送给第二网元;其中,所述第一网元为互联网系统中的服务器,所述第二网元为通信系统中的节点设备,所述第一类型消息为采用WSDL描述的消息,所述第二类型消息为采用IDL描述的消息,或者,所述第一网元为通信系统中的节点设备,所述第二网元为互联网系统中的服务器,所述第一类型消息为采用IDL描述的消息,所述第二类型消息为采用WSDL描述的消息。
本实施例的设备可以用于执行图1所示方法实施例的方法,其实现原理类似,此处不再赘述。
图5为本发明桥接设备另一个实施例的结构示意图,如图5所示,本实施例的设备在图4所示设备结构的基础上,进一步地还包括:第二接收模块14,用于接收所述第一网元发送的WSDL注册文件,并根据所述WSDL注册文件中包含的WSDL的语义定义获取所述关联关系。另外,该第一接收模块11具体用于接收通信系统中的节点设备发送的IDL消息,所述IDL消息中包含Union结构的消息体,所述Union结构的消息体中包含case分支的标识和该case分支中的变量值;转换处理模块12,可以包括:第一确定单元121,用于根据所述关联关系,确定与所述case分支的标识对应的标签属性信息;根据所述关联关系以及确定的标签属性信息,确定对应的choice元素,所述choice元素中包含变量名和变量类型;第一处理单元122,用于将所述case分支的标识赋值给WSDL消息中包含的Union结构的消息体中的discriminator的值,将所述case分支中的变量值赋值给所述变量名对应的变量,获取所述WSDL消息;发送模块13具体用于向互联网系统中的服务器发送所述WSDL消息。
本实施例的设备可以用于执行图2所示方法实施例的方法,其实现原理类似,此处不再赘述。
图6为本发明桥接设备再一个实施例的结构示意图,如图6所示,本实施例的设备在图4所示设备结构的基础上,进一步地还包括:第二接收模块14,用于接收所述第一网元发送的WSDL注册文件,并根据所述WSDL注册文件中包含的WSDL的语义定义获取所述关联关系。另外,第一接收模块11具体用于接收互联网系统中的服务器发送的WSDL消息,所述WSDL消息中包含Union结构的消息体,所述Union结构的消息体的choice元素中包含变量名、变量值以及discriminator的值;转换处理模块12,可以包括:第二确定单元123,用于根据所述关联关系,确定与所述变量名对应的标签属性信息,根据确定的标签属性信息,确定case分支的标识;第二处理单元124,用于将确定的case分支的标识赋值给IDL消息中包含的Union结构的消息体中的case分支中的标识,将所述变量值赋值给case分支中的变量值,获取所述IDL消息;发送模块13具体用于向通信系统中的节点设备发送所述IDL消息。
本实施例的设备可以用于执行图3所示方法实施例的方法,其实现原理类似,此处不再赘述。
图7为本发明通信系统实施例的结构示意图,如图7所示,本实施例的系统可以包括:桥接设备1和与桥接设备1连接的至少一个节点设备2,在本实施例中该节点设备2示出了三个;该节点设备2,用于向桥接设备1发送第一类型消息,并接收桥接设备1发送的第一类型消息;桥接设备1用于接收节点设备2发送的第一类型消息,根据标签属性信息、接口描述语言IDL中各case分支以及Web服务描述语言WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息,并将所述第二类型消息发送给互联网系统中的服务器;或者用于接收所述互联网系统中的服务器发送的第二类型消息,根据所述关联关系,对所述第二类型消息进行转换处理,获取第一类型消息,并将所述第一类型消息发送给节点设备2;第一类型消息为采用IDL描述的消息,所述第二类型消息为采用WSDL描述的消息。
举例来说,本实施例中的通信系统可以是CORBA系统。本实施例中的通信系统可以用于执行图1所示方法实施例的方法,其具体可以执行图2或者图3所示方法实施例的方法,其中的桥接设备1可以采用图4~6中所示的结构,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种消息转换处理方法,其特征在于,包括:
桥接设备接收第一网元发送的第一类型消息;
所述桥接设备根据标签属性信息、接口描述语言IDL中各case分支以及Web服务描述语言WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息;
所述桥接设备将所述第二类型消息发送给第二网元;
其中,所述第一网元为互联网系统中的服务器,所述第二网元为通信系统中的节点设备,所述第一类型消息为采用WSDL描述的消息,所述第二类型消息为采用IDL描述的消息,或者,所述第一网元为通信系统中的节点设备,所述第二网元为互联网系统中的服务器,所述第一类型消息为采用IDL描述的消息,所述第二类型消息为采用WSDL描述的消息。
2.根据权利要求1所述的方法,其特征在于,所述桥接设备接收第一网元发送的第一类型消息之前,还包括:
所述桥接设备接收所述第一网元发送的WSDL注册文件,并根据所述WSDL注册文件中包含的WSDL的语义定义获取所述关联关系;
其中,所述关联关系,包括:
WSDL中Union结构的complextype中每个choice元素对应至少一个标签属性信息,每个标签属性信息与IDL中Union结构的switch中的各case分支对应;若每个choice元素对应两个或者两个以上标签属性信息,则所述两个或者两个以上标签属性信息并列包含在该choice元素中。
3.根据权利要求1或2所述的方法,其特征在于,若所述第一网元为通信系统中的节点设备,所述第二网元为互联网系统中的服务器,则,
所述桥接设备接收第一网元发送的第一类型消息,包括:
所述桥接设备接收通信系统中的节点设备发送的IDL消息,所述IDL消息中包含Union结构的消息体,所述Union结构的消息体中包含case分支的标识和该case分支中的变量值;
所述桥接设备根据标签属性信息、IDL中各case分支以及WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息,包括:
所述桥接设备根据所述关联关系,确定与所述case分支的标识对应的标签属性信息;
所述桥接设备根据所述关联关系以及确定的标签属性信息,确定对应的choice元素,所述choice元素中包含变量名和变量类型;
所述桥接设备将所述case分支的标识赋值给WSDL消息中包含的Union结构的消息体中的discriminator的值,将所述case分支中的变量值赋值给所述变量名对应的变量,获取所述WSDL消息;
所述桥接设备向所述第二网元发送所述第二类型消息,包括:
所述桥接设备向所述互联网系统中的服务器发送所述WSDL消息。
4.根据权利要求1或2所述的方法,其特征在于,若所述第一网元为互联网系统中的服务器,所述第二网元为通信系统中的节点设备,则,
所述桥接设备接收第一网元发送的第一类型消息,包括:
所述桥接设备接收互联网系统中的服务器发送的WSDL消息,所述WSDL消息中包含Union结构的消息体,所述Union结构的消息体中包含变量名、变量值以及discriminator的值;
所述桥接设备根据标签属性信息、IDL中各case分支以及WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息,包括:
所述桥接设备根据所述关联关系,确定与所述变量名对应的标签属性信息;
所述桥接设备根据确定的标签属性信息,确定case分支的标识;
所述桥接设备将确定的case分支的标识赋值给IDL消息中包含的Union结构的消息体中的case分支中的标识,将所述变量值赋值给case分支中的变量值,获取所述IDL消息;
所述桥接设备向所述第二网元发送所述第二类型消息,包括:
所述桥接设备向通信系统中的节点设备发送所述IDL消息。
5.一种桥接设备,其特征在于,包括:
第一接收模块,用于接收第一网元发送的第一类型消息;
转换处理模块,用于根据标签属性信息、接口描述语言IDL中各case分支以及Web服务描述语言WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息;
发送模块,用于将所述第二类型消息发送给第二网元;
其中,所述第一网元为互联网系统中的服务器,所述第二网元为通信系统中的节点设备,所述第一类型消息为采用WSDL描述的消息,所述第二类型消息为采用IDL描述的消息,或者,所述第一网元为通信系统中的节点设备,所述第二网元为互联网系统中的服务器,所述第一类型消息为采用IDL描述的消息,所述第二类型消息为采用WSDL描述的消息。
6.根据权利要求5所述的设备,其特征在于,还包括:
第二接收模块,用于接收所述第一网元发送的WSDL注册文件,并根据所述WSDL注册文件中包含的WSDL的语义定义获取所述关联关系。
7.根据权利要求5或6所述的设备,其特征在于,所述第一接收模块具体用于接收通信系统中的节点设备发送的IDL消息,所述IDL消息中包含Union结构的消息体,所述Union结构的消息体中包含case分支的标识和该case分支中的变量值;
所述转换处理模块,包括:
第一确定单元,用于根据所述关联关系,确定与所述case分支的标识对应的标签属性信息;根据所述关联关系以及确定的标签属性信息,确定对应的choice元素,所述choice元素中包含变量名和变量类型;
第一处理单元,用于将所述case分支的标识赋值给WSDL消息中包含的Union结构的消息体中的discriminator的值,将所述case分支中的变量值赋值给所述变量名对应的变量,获取所述WSDL消息;
所述发送模块具体用于向互联网系统中的服务器发送所述WSDL消息。
8.根据权利要求5或6所述的设备,其特征在于,所述第一接收模块具体用于接收互联网系统中的服务器发送的WSDL消息,所述WSDL消息中包含Union结构的消息体,所述Union结构的消息体的choice元素中包含变量名、变量值以及discriminator的值;
所述转换处理模块,包括:
第二确定单元,用于根据所述关联关系,确定与所述变量名对应的标签属性信息,根据确定的标签属性信息,确定case分支的标识;
第二处理单元,用于将确定的case分支的标识赋值给IDL消息中包含的Union结构的消息体中的case分支中的标识,将所述变量值赋值给case分支中的变量值,获取所述IDL消息;
所述发送模块具体用于向通信系统中的节点设备发送所述IDL消息。
9.一种通信系统,其特征在于,包括桥接设备和与所述桥接设备连接的至少一个节点设备;
所述节点设备,用于向所述桥接设备发送第一类型消息,并接收所述桥接设备发送的第一类型消息;
所述桥接设备,用于接收所述节点设备发送的第一类型消息,根据标签属性信息、接口描述语言IDL中各case分支以及Web服务描述语言WSDL中各choice元素之间的关联关系,对所述第一类型消息进行转换处理,获取第二类型消息,并将所述第二类型消息发送给互联网系统中的服务器;或者用于接收所述互联网系统中的服务器发送的第二类型消息,根据所述关联关系,对所述第二类型消息进行转换处理,获取第一类型消息,并将所述第一类型消息发送给所述节点设备;
所述第一类型消息为采用IDL描述的消息,所述第二类型消息为采用WSDL描述的消息。
10.根据权利要求9所述的通信系统,其特征在于,所述通信系统为公共对象请求代理结构CORBA系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110208224.8A CN102891837B (zh) | 2011-07-22 | 2011-07-22 | 消息转换处理方法、桥接设备和通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110208224.8A CN102891837B (zh) | 2011-07-22 | 2011-07-22 | 消息转换处理方法、桥接设备和通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102891837A CN102891837A (zh) | 2013-01-23 |
CN102891837B true CN102891837B (zh) | 2016-03-02 |
Family
ID=47535204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110208224.8A Expired - Fee Related CN102891837B (zh) | 2011-07-22 | 2011-07-22 | 消息转换处理方法、桥接设备和通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102891837B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246731A (zh) * | 2013-05-10 | 2013-08-14 | 天津大学 | 基于关联数据的Web服务语义标注方法 |
CN107832045B (zh) * | 2017-10-16 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 跨编程语言接口转换的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6066181A (en) * | 1997-12-08 | 2000-05-23 | Analysis & Technology, Inc. | Java native interface code generator |
CN1468398A (zh) * | 2000-08-08 | 2004-01-14 | 国际商业机器公司 | 包括c/c++元模型在内的通用应用程序元模型 |
-
2011
- 2011-07-22 CN CN201110208224.8A patent/CN102891837B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6066181A (en) * | 1997-12-08 | 2000-05-23 | Analysis & Technology, Inc. | Java native interface code generator |
CN1468398A (zh) * | 2000-08-08 | 2004-01-14 | 国际商业机器公司 | 包括c/c++元模型在内的通用应用程序元模型 |
Non-Patent Citations (1)
Title |
---|
"基于CORBA/Web Service的PDM图档管理系统";古清范 等;《计算机工程》;20060831;第32卷(第16期);第23-25页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102891837A (zh) | 2013-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7509422B2 (en) | System and method for locating web services | |
US20060288018A1 (en) | Loose coupling of Web services | |
JP5188284B2 (ja) | サービス接続システム及びサービス接続方法 | |
US8683320B2 (en) | Processing module, a device, and a method for processing of XML data | |
CN109327511B (zh) | 一种基于http协议的数据请求方法和服务器 | |
CN102272747A (zh) | 用于管理远程用户界面的状态信息的方法和装置 | |
US10887415B1 (en) | Common agnostic data exchange systems and methods | |
US20050165936A1 (en) | System and method for facilitating XML enabled IMS transactions | |
JP2005174120A (ja) | Webサービス接続処理方法とシステム、およびプログラム | |
CN101715086A (zh) | 一种网络电视机顶盒的纠错处理方法 | |
JP2000047964A (ja) | ネットワ―ク上のデ―タ転送方法、ネットワ―ク上のデ―タ転送装置、ネットワ―ク上のデ―タ転送システム及びネットワ―ク上のデ―タ転送プログラムを記録した記録媒体 | |
CN102891837B (zh) | 消息转换处理方法、桥接设备和通信系统 | |
EP1667404A1 (en) | Method for the transmission of structured data using a byte stream | |
US20040054970A1 (en) | System and method for facilitating XML transactions with MFS-based IMS applications | |
EP1754145B1 (en) | Method and apparatus for supporting multiple versions of a web services protocol | |
CN107357749B (zh) | 一种消息的处理方法和装置 | |
CN113765872B (zh) | 一种自适应数据格式转换适配的方法和系统 | |
CN112084445B (zh) | 信息处理系统、方法以及设备、存储介质 | |
CN101692244A (zh) | 嵌入式浏览器的编码优化方法及装置 | |
KR101270746B1 (ko) | 웹 서비스 중개 장치 및 방법 | |
US7132962B1 (en) | Methods and apparatuses for character conversion control | |
EP3328027A1 (en) | Device and method for transmitting data | |
CN102075452B (zh) | 信息传输方法、装置及系统 | |
US8799351B1 (en) | Communicating multiple files in markup language documents | |
CN102651735A (zh) | 服务描述协议转换处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160302 Termination date: 20200722 |