一種簡單對象訪問協議業務管理接口轉換信息的方法
2023-07-14 20:51:56 1
專利名稱:一種簡單對象訪問協議業務管理接口轉換信息的方法
技術領域:
本發明涉及網絡管理中的接口技術,尤其涉及一種簡單對象訪問協議(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