專利名稱:一種簡單對象訪問協(xié)議業(yè)務(wù)管理接口轉(zhuǎn)換信息的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)管理中的接口技術(shù),尤其涉及一種簡單對象訪問協(xié)議(SOAP)業(yè)務(wù)管理接口轉(zhuǎn)換信息的方法。
背景技術(shù):
隨著業(yè)務(wù)管理多樣化的發(fā)展,Web服務(wù)接口因?yàn)槠淇缙脚_、跨語言、跨防火墻等優(yōu)點(diǎn)正在成為網(wǎng)元管理通用的標(biāo)準(zhǔn)接口。其中,以SOAP為基礎(chǔ)的Web服務(wù)接口,即SOAP業(yè)務(wù)管理接口在網(wǎng)元接口中的應(yīng)用非常廣泛。
通常情況下,網(wǎng)管發(fā)送和接收的消息基于擴(kuò)展標(biāo)記語言(XML,eXtensible Markup Language)的表達(dá)方式,而網(wǎng)元可以識別的信息基于二進(jìn)制的表達(dá)形式,為了使二者可以通信,在網(wǎng)管和網(wǎng)元之間設(shè)置有SOAP業(yè)務(wù)管理接口,用于將網(wǎng)管發(fā)送給網(wǎng)元的請求消息轉(zhuǎn)換成網(wǎng)元可以識別的請求消息幀,將網(wǎng)元發(fā)送給網(wǎng)管的響應(yīng)消息幀轉(zhuǎn)換成網(wǎng)管可以識別的響應(yīng)消息。
為了符合Web服務(wù)互操作性(WS-I)規(guī)范,也為了提高SOAP消息的兼容性,網(wǎng)管發(fā)送和接收的SOAP消息常常采用文檔/文字封裝格式,這種消息格式只包含參數(shù)名和參數(shù)值,不包含參數(shù)類型。對于這種SOAP業(yè)務(wù)管理接口,當(dāng)前通用的做法是首先,編寫Web服務(wù)描述語言(WSDL)接口文件;然后,根據(jù)WSDL接口文件利用代碼生成工具生成SOAP業(yè)務(wù)管理接口的代碼。所生成的代碼是對每條命令所生成的方法調(diào)用,執(zhí)行相應(yīng)的代碼就是執(zhí)行相應(yīng)的命令,對接收到的消息和/或消息幀做轉(zhuǎn)換處理。
具體參見圖1,圖1示出現(xiàn)有技術(shù)中SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息的過程。該過程包括步驟101-103、網(wǎng)管發(fā)送SOAP請求消息至SOAP業(yè)務(wù)管理接口,SOAP業(yè)務(wù)管理接口根據(jù)網(wǎng)管發(fā)送的SOAP請求消息執(zhí)行相應(yīng)的代碼,將SOAP請求消息轉(zhuǎn)換成網(wǎng)元可以識別的請求消息幀,并將請求消息幀發(fā)送給網(wǎng)元;網(wǎng)管發(fā)送的每條SOAP請求消息在SOAP業(yè)務(wù)管理接口中都有相應(yīng)的方法調(diào)用,SOAP業(yè)務(wù)管理接口根據(jù)請求消息中攜帶的命令名稱,也就是方法名稱,調(diào)用對應(yīng)的方法執(zhí)行相應(yīng)的代碼,將SOAP請求消息中攜帶的參數(shù)值轉(zhuǎn)換成網(wǎng)元可以識別的二進(jìn)制參數(shù)值,并進(jìn)行組幀,于是就實(shí)現(xiàn)了對請求消息的轉(zhuǎn)換。
步驟104-106、網(wǎng)元收到請求消息幀后,經(jīng)過處理產(chǎn)生響應(yīng)消息幀發(fā)送至SOAP業(yè)務(wù)管理接口,SOAP業(yè)務(wù)管理接口根據(jù)網(wǎng)元發(fā)送的響應(yīng)消息幀,執(zhí)行相應(yīng)的代碼將響應(yīng)消息幀解析成SOAP響應(yīng)消息,發(fā)送至網(wǎng)管;類似地,網(wǎng)元發(fā)送的響應(yīng)消息幀在SOAP業(yè)務(wù)管理接口中也有相應(yīng)的方法調(diào)用,SOAP業(yè)務(wù)管理接口根據(jù)響應(yīng)消息幀的方法名稱執(zhí)行相應(yīng)的代碼,就可以實(shí)現(xiàn)從響應(yīng)消息幀到SOAP響應(yīng)消息的轉(zhuǎn)換。
可見,這種處理方式是在SOAP業(yè)務(wù)管理接口中將網(wǎng)管和網(wǎng)元發(fā)送的每條命令都固化成代碼來執(zhí)行,在網(wǎng)元升級時,WSDL接口文件必然隨著網(wǎng)元的升級而進(jìn)行修改,SOAP業(yè)務(wù)管理接口不得不按照修改的WSDL重新生成代碼,做聯(lián)動升級。修改的WSDL重新生成代碼時,需要進(jìn)行驗(yàn)證和測試,最后才可以為SOAP業(yè)務(wù)管理接口打補(bǔ)丁,形成新的方法調(diào)用,以適應(yīng)網(wǎng)元升級所帶來的新的接口命令。因此,在網(wǎng)元升級時,當(dāng)前SOAP業(yè)務(wù)管理接口的處理比較復(fù)雜,操作麻煩,網(wǎng)元升級所帶來的負(fù)擔(dān)較重。
發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息的方法,在網(wǎng)元升級時,SOAP業(yè)務(wù)管理接口可以不必隨之升級,處理簡單。具體地,在SOAP業(yè)務(wù)管理接口中設(shè)置包含參數(shù)名與參數(shù)類型對應(yīng)關(guān)系的適配文件和用于轉(zhuǎn)換信息的通用代碼,該方法包括A、SOAP業(yè)務(wù)管理接口收到網(wǎng)管發(fā)送的請求消息,根據(jù)請求消息中包含的參數(shù)名,在所提供的適配文件中查詢參數(shù)名對應(yīng)的參數(shù)類型,根據(jù)參數(shù)類型利用通用代碼將請求消息轉(zhuǎn)換成請求消息幀,發(fā)送給網(wǎng)元;B、網(wǎng)元收到請求消息幀后生成響應(yīng)消息幀發(fā)送給SOAP業(yè)務(wù)管理接口,SOAP業(yè)務(wù)管理接口利用通用代碼將響應(yīng)消息幀轉(zhuǎn)換成響應(yīng)消息發(fā)送給網(wǎng)管。
步驟A中所述將請求消息轉(zhuǎn)換成請求消息幀包括將請求消息中的文本格式的參數(shù)值轉(zhuǎn)換成二進(jìn)制格式的參數(shù)值,并組成請求消息幀。
所述請求消息中的參數(shù)是簡單數(shù)據(jù)類型的參數(shù)。
所述請求消息幀包括參數(shù)的參數(shù)名、參數(shù)值和參數(shù)類型。
所述響應(yīng)消息幀支持表狀結(jié)構(gòu),表中的每列都包括參數(shù)名、參數(shù)值和參數(shù)類型。
所述響應(yīng)消息支持表狀結(jié)構(gòu),表中每列的參數(shù)都是簡單數(shù)據(jù)類型。
從以上技術(shù)方案可以看到,本發(fā)明所提供的SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息的方法具有以下有益效果1、由于SOAP業(yè)務(wù)管理接口提供有用于描述消息中參數(shù)類型的適配文件和用于轉(zhuǎn)換信息的通用代碼,所以SOAP業(yè)務(wù)管理接口可以根據(jù)適配文件的參數(shù)類型利用通用代碼進(jìn)行信息的轉(zhuǎn)換,在網(wǎng)元升級時,不需要利用WSDL來升級SOAP業(yè)務(wù)管理接口,也不需要對SOAP業(yè)務(wù)管理接口進(jìn)行驗(yàn)證和測試,所以處理相對簡單,同時也可以減輕網(wǎng)元升級所帶來的負(fù)擔(dān);2、網(wǎng)元升級時,本發(fā)明的SOAP業(yè)務(wù)管理接口不需要做任何改動,只需要提供新的網(wǎng)元的適配文件,SOAP業(yè)務(wù)管理接口就可以適應(yīng)新的網(wǎng)元接口命令,因此,SOAP業(yè)務(wù)管理接口的通用性強(qiáng)。
圖1是現(xiàn)有技術(shù)中SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息過程的流程圖;圖2是根據(jù)本發(fā)明的SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息過程的流程圖。
具體實(shí)施方式為了使本發(fā)明的特征和優(yōu)點(diǎn)更加清楚明白,下面參照附圖結(jié)合具體實(shí)施例對本發(fā)明作進(jìn)一步的描述。
針對現(xiàn)有技術(shù)中SOAP業(yè)務(wù)管理接口必須隨著網(wǎng)元升級做聯(lián)動升級的缺點(diǎn),本發(fā)明提出一種SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息的方法,該方法在網(wǎng)元升級時,不需要為SOAP業(yè)務(wù)管理接口提供修改的WSDL接口文件,也不需要升級SOAP業(yè)務(wù)管理接口,而只需要提供網(wǎng)元升級的適配文件和用于轉(zhuǎn)換信息的通用代碼,SOAP業(yè)務(wù)管理接口根據(jù)適配文件利用通用代碼就可以實(shí)現(xiàn)網(wǎng)管與網(wǎng)元之間的信息轉(zhuǎn)換。
SOAP業(yè)務(wù)管理接口主要負(fù)責(zé)將網(wǎng)管發(fā)送的SOAP請求消息轉(zhuǎn)換成請求消息幀發(fā)送給網(wǎng)元,將網(wǎng)元發(fā)送的響應(yīng)消息幀轉(zhuǎn)換成SOAP響應(yīng)消息發(fā)送給網(wǎng)管。網(wǎng)管發(fā)送的每條SOAP請求消息都可以包括一個以上的參數(shù),由于請求消息的格式為文檔/文本的封裝樣式,所以請求消息只包括每個參數(shù)的參數(shù)名和參數(shù)值,不包括參數(shù)類型;而網(wǎng)元可以識別的信息是二進(jìn)制格式的,所以為了可以將網(wǎng)管發(fā)送的請求消息中的參數(shù)值轉(zhuǎn)換成網(wǎng)元可以識別的二進(jìn)制參數(shù)值需要知道參數(shù)類型,這里,提供網(wǎng)元的適配文件給SOAP業(yè)務(wù)管理接口,用于描述SOAP請求消息中每個參數(shù)的參數(shù)類型信息,也就是說,適配文件反映參數(shù)名和參數(shù)類型的對應(yīng)關(guān)系,這種對應(yīng)關(guān)系可參見表1。表1僅以兩個參數(shù)舉例示出這種對應(yīng)關(guān)系,具體實(shí)現(xiàn)時,適配文件是以XML的表達(dá)方式反映這種對應(yīng)關(guān)系的。
表1另外,為了將用XML描述的參數(shù)值轉(zhuǎn)換成二進(jìn)制格式的參數(shù)值,SOAP業(yè)務(wù)管理接口中還包括通用代碼,用于將請求消息中預(yù)定類型的參數(shù)值轉(zhuǎn)換成二進(jìn)制格式的參數(shù)值,并組成請求消息幀;為了將網(wǎng)元發(fā)送的響應(yīng)消息幀轉(zhuǎn)換成用XML描述的響應(yīng)消息,通用代碼還用于將預(yù)定格式的響應(yīng)消息幀轉(zhuǎn)換成響應(yīng)消息。
具體地,參見圖2,描述根據(jù)本發(fā)明的SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息的過程,該過程包括步驟201、網(wǎng)管向SOAP業(yè)務(wù)管理接口發(fā)送SOAP請求消息;其中,SOAP請求消息包括一個以上的參數(shù),每個參數(shù)都包括參數(shù)名和參數(shù)值,在本實(shí)施例中,每個參數(shù)都舉例為簡單數(shù)據(jù)類型的參數(shù),而不是復(fù)合數(shù)據(jù)類型的參數(shù)。
簡單數(shù)據(jù)類型的參數(shù)是指只包括一個參數(shù)值的參數(shù);復(fù)合數(shù)據(jù)類型的參數(shù)是指參數(shù)包括兩個以上簡單數(shù)據(jù)類型的參數(shù)。例如,一個復(fù)合數(shù)據(jù)類型的參數(shù),參數(shù)名為Result,表示結(jié)果,包括兩個簡單數(shù)據(jù)類型的參數(shù),參數(shù)名分別為ResultCode和ResultDesc,分別表示結(jié)果碼和結(jié)果描述,其中結(jié)果碼的參數(shù)值是100000001,結(jié)果描述的參數(shù)值是操作成功(Operation Succeed.)。
步驟202-203、SOAP業(yè)務(wù)管理接口收到SOAP請求消息后,依次讀取請求消息中每個參數(shù)的參數(shù)名,并在適配文件中查詢每個參數(shù)名對應(yīng)的參數(shù)類型,根據(jù)參數(shù)類型利用通用代碼將SOAP請求消息中的文本格式的參數(shù)值轉(zhuǎn)換成網(wǎng)元可以識別的二進(jìn)制格式的參數(shù)值,組成請求消息幀,發(fā)送給網(wǎng)元;這里,在獲得參數(shù)類型的情況下執(zhí)行通用代碼就可以將參數(shù)值轉(zhuǎn)換成網(wǎng)元可以識別的二進(jìn)制格式的參數(shù)值。與現(xiàn)有技術(shù)中根據(jù)WSDL接口文件所生成的代碼不同,這里SOAP業(yè)務(wù)管理接口的代碼不是針對每條消息命令生成的方法調(diào)用,而是通用的代碼,對于屬于同一參數(shù)類型的參數(shù)值都可以根據(jù)參數(shù)類型將文本格式的參數(shù)值轉(zhuǎn)換成網(wǎng)元可以識別的二進(jìn)制格式的參數(shù)值,對于固定格式的響應(yīng)消息幀也同樣可以轉(zhuǎn)換成固定格式的響應(yīng)消息。SOAP請求消息中每個參數(shù)都是簡單數(shù)據(jù)類型的參數(shù),具有單一的參數(shù)類型,因此,用相對簡單的通用代碼就可以實(shí)現(xiàn)轉(zhuǎn)換。
在本發(fā)明的實(shí)施例中,將SOAP請求消息中的參數(shù)舉例為簡單數(shù)據(jù)類型,實(shí)際應(yīng)用中,SOAP請求消息中的每個參數(shù)不局限于簡單數(shù)據(jù)類型,只要每個參數(shù)對應(yīng)的參數(shù)類型在適配文件中有描述,那么SOAP業(yè)務(wù)管理接口就可以根據(jù)參數(shù)名找到參數(shù)類型,執(zhí)行通用代碼實(shí)現(xiàn)轉(zhuǎn)換,只不過復(fù)合數(shù)據(jù)類型也要符合一定的規(guī)則,例如,是由固定的簡單數(shù)據(jù)類型的參數(shù)組合而成,只有這樣SOAP業(yè)務(wù)管理接口的通用代碼才能實(shí)現(xiàn)轉(zhuǎn)換。
SOAP業(yè)務(wù)管理接口發(fā)送給網(wǎng)元的請求消息幀包括參數(shù)名、參數(shù)值和參數(shù)類型。
步驟204-206、網(wǎng)元收到請求消息幀后,根據(jù)請求消息幀做出處理,生成響應(yīng)消息幀發(fā)送給SOAP業(yè)務(wù)管理接口,SOAP業(yè)務(wù)管理接口對所收到的響應(yīng)消息幀進(jìn)行轉(zhuǎn)換,生成SOAP響應(yīng)消息發(fā)送給網(wǎng)管。
SOAP業(yè)務(wù)管理接口發(fā)送給網(wǎng)管的SOAP響應(yīng)消息也是基于XML表達(dá)方式的,由于查詢類請求的結(jié)果是一種表狀結(jié)構(gòu),這樣也就需要SOAP響應(yīng)消息定義為表狀結(jié)構(gòu),并且表中每列參數(shù)都是簡單數(shù)據(jù)類型。為了與轉(zhuǎn)換后的SOAP響應(yīng)消息相對應(yīng),這里的響應(yīng)消息幀需要支持表狀結(jié)構(gòu),并且表中每列參數(shù)都攜帶參數(shù)名、參數(shù)值和參數(shù)類型,于是,SOAP業(yè)務(wù)管理接口在利用通用代碼進(jìn)行轉(zhuǎn)換的過程中無需讀取適配文件,只需要按照響應(yīng)消息的格式執(zhí)行通用代碼進(jìn)行轉(zhuǎn)換即可。
響應(yīng)消息如果是非查詢類的,不包括具體查詢的數(shù)據(jù),可以只包括結(jié)果碼和結(jié)果描述;如果是查詢類的,則是表狀結(jié)構(gòu),表中每列參數(shù)都是簡單數(shù)據(jù)類型。
以上參考圖2,描述了根據(jù)本發(fā)明的SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息的過程,其中,只要提供網(wǎng)元的適配文件,SOAP業(yè)務(wù)管理接口就可以根據(jù)適配文件中描述的參數(shù)類型進(jìn)行信息的轉(zhuǎn)換。
這種處理SOAP業(yè)務(wù)管理接口的方法和SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息的方法在網(wǎng)元升級過程中非常方便,因?yàn)橹恍枰獙⒕W(wǎng)元升級所帶來的變化編寫進(jìn)適配文件,并提供給SOAP業(yè)務(wù)管理接口,那么SOAP業(yè)務(wù)管理接口無需做任何變化就可以適應(yīng)網(wǎng)元升級。網(wǎng)元升級可能是修改了參數(shù),也可能是提供了新的參數(shù),但是無論是哪種情況,只需要將修改或增加的參數(shù)類型編寫在適配文件中,提供給SOAP業(yè)務(wù)管理接口,SOAP業(yè)務(wù)管理接口就可以根據(jù)參數(shù)類型將請求消息轉(zhuǎn)換為請求消息幀,從而實(shí)現(xiàn)網(wǎng)元升級而SOAP業(yè)務(wù)管理接口不升級就可以進(jìn)行轉(zhuǎn)換的目的,因此,操作簡單,降低了網(wǎng)元升級帶來的負(fù)擔(dān),并且SOAP業(yè)務(wù)管理接口的通用性也得到增強(qiáng)。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種簡單對象訪問協(xié)議SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息的方法,其特征在于,在SOAP業(yè)務(wù)管理接口中設(shè)置包含參數(shù)名與參數(shù)類型對應(yīng)關(guān)系的適配文件和用于轉(zhuǎn)換信息的通用代碼,該方法包括A、SOAP業(yè)務(wù)管理接口收到網(wǎng)管發(fā)送的請求消息,根據(jù)請求消息中包含的參數(shù)名,在所提供的適配文件中查詢參數(shù)名對應(yīng)的參數(shù)類型,根據(jù)參數(shù)類型利用通用代碼將請求消息轉(zhuǎn)換成請求消息幀,發(fā)送給網(wǎng)元;B、網(wǎng)元收到請求消息幀后生成響應(yīng)消息幀發(fā)送給SOAP業(yè)務(wù)管理接口,SOAP業(yè)務(wù)管理接口利用通用代碼將響應(yīng)消息幀轉(zhuǎn)換成響應(yīng)消息發(fā)送給網(wǎng)管。
2.根據(jù)權(quán)利要求
1所述的方法,其特征在于,步驟A中所述將請求消息轉(zhuǎn)換成請求消息幀包括將請求消息中的文本格式的參數(shù)值轉(zhuǎn)換成二進(jìn)制格式的參數(shù)值,并組成請求消息幀。
3.根據(jù)權(quán)利要求
1或2所述的方法,其特征在于,所述請求消息中的參數(shù)是簡單數(shù)據(jù)類型的參數(shù)。
4.根據(jù)權(quán)利要求
1所述的方法,其特征在于,所述請求消息幀包括參數(shù)的參數(shù)名、參數(shù)值和參數(shù)類型。
5.根據(jù)權(quán)利要求
1所述的方法,其特征在于,所述響應(yīng)消息幀支持表狀結(jié)構(gòu),表中的每列都包括參數(shù)名、參數(shù)值和參數(shù)類型。
6.根據(jù)權(quán)利要求
1所述的方法,其特征在于,所述響應(yīng)消息支持表狀結(jié)構(gòu),表中每列的參數(shù)都是簡單數(shù)據(jù)類型。
專利摘要
本發(fā)明公開一種SOAP業(yè)務(wù)管理接口轉(zhuǎn)換信息的方法,該方法包括在SOAP業(yè)務(wù)管理接口中設(shè)置包含參數(shù)名與參數(shù)類型對應(yīng)關(guān)系的適配文件和用于轉(zhuǎn)換信息的通用代碼,SOAP業(yè)務(wù)管理接口收到網(wǎng)管發(fā)送的請求消息,根據(jù)請求消息中包含的參數(shù)名,在所提供的適配文件中查詢參數(shù)名對應(yīng)的參數(shù)類型,根據(jù)參數(shù)類型利用通用代碼將請求消息轉(zhuǎn)換成請求消息幀,發(fā)送給網(wǎng)元;網(wǎng)元收到請求消息幀后生成響應(yīng)消息幀發(fā)送給SOAP業(yè)務(wù)管理接口,SOAP業(yè)務(wù)管理接口利用通用代碼將響應(yīng)消息幀轉(zhuǎn)換成響應(yīng)消息發(fā)送給網(wǎng)管。本發(fā)明提供的方法可以保證網(wǎng)元升級時,SOAP業(yè)務(wù)管理接口不必隨之升級,降低網(wǎng)元升級所帶來的負(fù)擔(dān)。
文檔編號H04L12/24GK1996878SQ200610094825
公開日2007年7月11日 申請日期2006年6月28日
發(fā)明者鄭斌 申請人:華為技術(shù)有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan