专利名称:一种简单对象访问协议业务管理接口转换信息的方法
技术领域:
本发明涉及网络管理中的接口技术,尤其涉及一种简单对象访问协议(SOAP)业务管理接口转换信息的方法。
背景技术:
随着业务管理多样化的发展,Web服务接口因为其跨平台、跨语言、跨防火墙等优点正在成为网元管理通用的标准接口。其中,以SOAP为基础的Web服务接口,即SOAP业务管理接口在网元接口中的应用非常广泛。
通常情况下,网管发送和接收的消息基于扩展标记语言(XML,eXtensible Markup Language)的表达方式,而网元可以识别的信息基于二进制的表达形式,为了使二者可以通信,在网管和网元之间设置有SOAP业务管理接口,用于将网管发送给网元的请求消息转换成网元可以识别的请求消息帧,将网元发送给网管的响应消息帧转换成网管可以识别的响应消息。
为了符合Web服务互操作性(WS-I)规范,也为了提高SOAP消息的兼容性,网管发送和接收的SOAP消息常常采用文档/文字封装格式,这种消息格式只包含参数名和参数值,不包含参数类型。对于这种SOAP业务管理接口,当前通用的做法是首先,编写Web服务描述语言(WSDL)接口文件;然后,根据WSDL接口文件利用代码生成工具生成SOAP业务管理接口的代码。所生成的代码是对每条命令所生成的方法调用,执行相应的代码就是执行相应的命令,对接收到的消息和/或消息帧做转换处理。
具体参见图1,图1示出现有技术中SOAP业务管理接口转换信息的过程。该过程包括步骤101-103、网管发送SOAP请求消息至SOAP业务管理接口,SOAP业务管理接口根据网管发送的SOAP请求消息执行相应的代码,将SOAP请求消息转换成网元可以识别的请求消息帧,并将请求消息帧发送给网元;网管发送的每条SOAP请求消息在SOAP业务管理接口中都有相应的方法调用,SOAP业务管理接口根据请求消息中携带的命令名称,也就是方法名称,调用对应的方法执行相应的代码,将SOAP请求消息中携带的参数值转换成网元可以识别的二进制参数值,并进行组帧,于是就实现了对请求消息的转换。
步骤104-106、网元收到请求消息帧后,经过处理产生响应消息帧发送至SOAP业务管理接口,SOAP业务管理接口根据网元发送的响应消息帧,执行相应的代码将响应消息帧解析成SOAP响应消息,发送至网管;类似地,网元发送的响应消息帧在SOAP业务管理接口中也有相应的方法调用,SOAP业务管理接口根据响应消息帧的方法名称执行相应的代码,就可以实现从响应消息帧到SOAP响应消息的转换。
可见,这种处理方式是在SOAP业务管理接口中将网管和网元发送的每条命令都固化成代码来执行,在网元升级时,WSDL接口文件必然随着网元的升级而进行修改,SOAP业务管理接口不得不按照修改的WSDL重新生成代码,做联动升级。修改的WSDL重新生成代码时,需要进行验证和测试,最后才可以为SOAP业务管理接口打补丁,形成新的方法调用,以适应网元升级所带来的新的接口命令。因此,在网元升级时,当前SOAP业务管理接口的处理比较复杂,操作麻烦,网元升级所带来的负担较重。
发明内容有鉴于此,本发明的主要目的在于提供一种SOAP业务管理接口转换信息的方法,在网元升级时,SOAP业务管理接口可以不必随之升级,处理简单。具体地,在SOAP业务管理接口中设置包含参数名与参数类型对应关系的适配文件和用于转换信息的通用代码,该方法包括A、SOAP业务管理接口收到网管发送的请求消息,根据请求消息中包含的参数名,在所提供的适配文件中查询参数名对应的参数类型,根据参数类型利用通用代码将请求消息转换成请求消息帧,发送给网元;B、网元收到请求消息帧后生成响应消息帧发送给SOAP业务管理接口,SOAP业务管理接口利用通用代码将响应消息帧转换成响应消息发送给网管。
步骤A中所述将请求消息转换成请求消息帧包括将请求消息中的文本格式的参数值转换成二进制格式的参数值,并组成请求消息帧。
所述请求消息中的参数是简单数据类型的参数。
所述请求消息帧包括参数的参数名、参数值和参数类型。
所述响应消息帧支持表状结构,表中的每列都包括参数名、参数值和参数类型。
所述响应消息支持表状结构,表中每列的参数都是简单数据类型。
从以上技术方案可以看到,本发明所提供的SOAP业务管理接口转换信息的方法具有以下有益效果1、由于SOAP业务管理接口提供有用于描述消息中参数类型的适配文件和用于转换信息的通用代码,所以SOAP业务管理接口可以根据适配文件的参数类型利用通用代码进行信息的转换,在网元升级时,不需要利用WSDL来升级SOAP业务管理接口,也不需要对SOAP业务管理接口进行验证和测试,所以处理相对简单,同时也可以减轻网元升级所带来的负担;2、网元升级时,本发明的SOAP业务管理接口不需要做任何改动,只需要提供新的网元的适配文件,SOAP业务管理接口就可以适应新的网元接口命令,因此,SOAP业务管理接口的通用性强。
图1是现有技术中SOAP业务管理接口转换信息过程的流程图;图2是根据本发明的SOAP业务管理接口转换信息过程的流程图。
具体实施方式为了使本发明的特征和优点更加清楚明白,下面参照附图结合具体实施例对本发明作进一步的描述。
针对现有技术中SOAP业务管理接口必须随着网元升级做联动升级的缺点,本发明提出一种SOAP业务管理接口转换信息的方法,该方法在网元升级时,不需要为SOAP业务管理接口提供修改的WSDL接口文件,也不需要升级SOAP业务管理接口,而只需要提供网元升级的适配文件和用于转换信息的通用代码,SOAP业务管理接口根据适配文件利用通用代码就可以实现网管与网元之间的信息转换。
SOAP业务管理接口主要负责将网管发送的SOAP请求消息转换成请求消息帧发送给网元,将网元发送的响应消息帧转换成SOAP响应消息发送给网管。网管发送的每条SOAP请求消息都可以包括一个以上的参数,由于请求消息的格式为文档/文本的封装样式,所以请求消息只包括每个参数的参数名和参数值,不包括参数类型;而网元可以识别的信息是二进制格式的,所以为了可以将网管发送的请求消息中的参数值转换成网元可以识别的二进制参数值需要知道参数类型,这里,提供网元的适配文件给SOAP业务管理接口,用于描述SOAP请求消息中每个参数的参数类型信息,也就是说,适配文件反映参数名和参数类型的对应关系,这种对应关系可参见表1。表1仅以两个参数举例示出这种对应关系,具体实现时,适配文件是以XML的表达方式反映这种对应关系的。
表1另外,为了将用XML描述的参数值转换成二进制格式的参数值,SOAP业务管理接口中还包括通用代码,用于将请求消息中预定类型的参数值转换成二进制格式的参数值,并组成请求消息帧;为了将网元发送的响应消息帧转换成用XML描述的响应消息,通用代码还用于将预定格式的响应消息帧转换成响应消息。
具体地,参见图2,描述根据本发明的SOAP业务管理接口转换信息的过程,该过程包括步骤201、网管向SOAP业务管理接口发送SOAP请求消息;其中,SOAP请求消息包括一个以上的参数,每个参数都包括参数名和参数值,在本实施例中,每个参数都举例为简单数据类型的参数,而不是复合数据类型的参数。
简单数据类型的参数是指只包括一个参数值的参数;复合数据类型的参数是指参数包括两个以上简单数据类型的参数。例如,一个复合数据类型的参数,参数名为Result,表示结果,包括两个简单数据类型的参数,参数名分别为ResultCode和ResultDesc,分别表示结果码和结果描述,其中结果码的参数值是100000001,结果描述的参数值是操作成功(Operation Succeed.)。
步骤202-203、SOAP业务管理接口收到SOAP请求消息后,依次读取请求消息中每个参数的参数名,并在适配文件中查询每个参数名对应的参数类型,根据参数类型利用通用代码将SOAP请求消息中的文本格式的参数值转换成网元可以识别的二进制格式的参数值,组成请求消息帧,发送给网元;这里,在获得参数类型的情况下执行通用代码就可以将参数值转换成网元可以识别的二进制格式的参数值。与现有技术中根据WSDL接口文件所生成的代码不同,这里SOAP业务管理接口的代码不是针对每条消息命令生成的方法调用,而是通用的代码,对于属于同一参数类型的参数值都可以根据参数类型将文本格式的参数值转换成网元可以识别的二进制格式的参数值,对于固定格式的响应消息帧也同样可以转换成固定格式的响应消息。SOAP请求消息中每个参数都是简单数据类型的参数,具有单一的参数类型,因此,用相对简单的通用代码就可以实现转换。
在本发明的实施例中,将SOAP请求消息中的参数举例为简单数据类型,实际应用中,SOAP请求消息中的每个参数不局限于简单数据类型,只要每个参数对应的参数类型在适配文件中有描述,那么SOAP业务管理接口就可以根据参数名找到参数类型,执行通用代码实现转换,只不过复合数据类型也要符合一定的规则,例如,是由固定的简单数据类型的参数组合而成,只有这样SOAP业务管理接口的通用代码才能实现转换。
SOAP业务管理接口发送给网元的请求消息帧包括参数名、参数值和参数类型。
步骤204-206、网元收到请求消息帧后,根据请求消息帧做出处理,生成响应消息帧发送给SOAP业务管理接口,SOAP业务管理接口对所收到的响应消息帧进行转换,生成SOAP响应消息发送给网管。
SOAP业务管理接口发送给网管的SOAP响应消息也是基于XML表达方式的,由于查询类请求的结果是一种表状结构,这样也就需要SOAP响应消息定义为表状结构,并且表中每列参数都是简单数据类型。为了与转换后的SOAP响应消息相对应,这里的响应消息帧需要支持表状结构,并且表中每列参数都携带参数名、参数值和参数类型,于是,SOAP业务管理接口在利用通用代码进行转换的过程中无需读取适配文件,只需要按照响应消息的格式执行通用代码进行转换即可。
响应消息如果是非查询类的,不包括具体查询的数据,可以只包括结果码和结果描述;如果是查询类的,则是表状结构,表中每列参数都是简单数据类型。
以上参考图2,描述了根据本发明的SOAP业务管理接口转换信息的过程,其中,只要提供网元的适配文件,SOAP业务管理接口就可以根据适配文件中描述的参数类型进行信息的转换。
这种处理SOAP业务管理接口的方法和SOAP业务管理接口转换信息的方法在网元升级过程中非常方便,因为只需要将网元升级所带来的变化编写进适配文件,并提供给SOAP业务管理接口,那么SOAP业务管理接口无需做任何变化就可以适应网元升级。网元升级可能是修改了参数,也可能是提供了新的参数,但是无论是哪种情况,只需要将修改或增加的参数类型编写在适配文件中,提供给SOAP业务管理接口,SOAP业务管理接口就可以根据参数类型将请求消息转换为请求消息帧,从而实现网元升级而SOAP业务管理接口不升级就可以进行转换的目的,因此,操作简单,降低了网元升级带来的负担,并且SOAP业务管理接口的通用性也得到增强。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种简单对象访问协议SOAP业务管理接口转换信息的方法,其特征在于,在SOAP业务管理接口中设置包含参数名与参数类型对应关系的适配文件和用于转换信息的通用代码,该方法包括A、SOAP业务管理接口收到网管发送的请求消息,根据请求消息中包含的参数名,在所提供的适配文件中查询参数名对应的参数类型,根据参数类型利用通用代码将请求消息转换成请求消息帧,发送给网元;B、网元收到请求消息帧后生成响应消息帧发送给SOAP业务管理接口,SOAP业务管理接口利用通用代码将响应消息帧转换成响应消息发送给网管。
2.根据权利要求
1所述的方法,其特征在于,步骤A中所述将请求消息转换成请求消息帧包括将请求消息中的文本格式的参数值转换成二进制格式的参数值,并组成请求消息帧。
3.根据权利要求
1或2所述的方法,其特征在于,所述请求消息中的参数是简单数据类型的参数。
4.根据权利要求
1所述的方法,其特征在于,所述请求消息帧包括参数的参数名、参数值和参数类型。
5.根据权利要求
1所述的方法,其特征在于,所述响应消息帧支持表状结构,表中的每列都包括参数名、参数值和参数类型。
6.根据权利要求
1所述的方法,其特征在于,所述响应消息支持表状结构,表中每列的参数都是简单数据类型。
专利摘要
本发明公开一种SOAP业务管理接口转换信息的方法,该方法包括在SOAP业务管理接口中设置包含参数名与参数类型对应关系的适配文件和用于转换信息的通用代码,SOAP业务管理接口收到网管发送的请求消息,根据请求消息中包含的参数名,在所提供的适配文件中查询参数名对应的参数类型,根据参数类型利用通用代码将请求消息转换成请求消息帧,发送给网元;网元收到请求消息帧后生成响应消息帧发送给SOAP业务管理接口,SOAP业务管理接口利用通用代码将响应消息帧转换成响应消息发送给网管。本发明提供的方法可以保证网元升级时,SOAP业务管理接口不必随之升级,降低网元升级所带来的负担。
文档编号H04L12/24GK1996878SQ200610094825
公开日2007年7月11日 申请日期2006年6月28日
发明者郑斌 申请人:华为技术有限公司导出引文BiBTeX, EndNote, RefMan