亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

Wsdl文件質(zhì)量保證系統(tǒng)及其實現(xiàn)方法

文檔序號:6372067閱讀:241來源:國知局
專利名稱:Wsdl文件質(zhì)量保證系統(tǒng)及其實現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及基于Web Service的網(wǎng)絡(luò)開發(fā)技術(shù)領(lǐng)域;特別是涉及一種對WSDL文件的偵錯技術(shù)。
背景技術(shù)
隨著計算機網(wǎng)絡(luò)的快速發(fā)展,為了達到Web服務(wù)跨平臺應(yīng)用,越來越多的Web服務(wù)都提供了以WSDL (Web Service Description Language, Web服務(wù)描述語言)文件存儲的Web Service應(yīng)用程序的接口,并且WSDL文件中包含了非常多的服務(wù)的具體信息。WSDL的概念模型如圖I所示,該模型中包括服務(wù)接口和服務(wù)時限的元素及描述。因此,當(dāng)服務(wù)提供者在發(fā)布Web服務(wù)時,提供有效并且能夠被正確解析的WSDL文件就顯的非常重要。通過在互聯(lián)網(wǎng)上抓取大量的WSDL文件,并仔細研究其中出錯的WSDL文件,可以發(fā)現(xiàn)WSDL文檔出現(xiàn)的錯誤類型主要有以下幾種 I.文件的TargetNamespace屬性值為空;2. Web服務(wù)的接口地址URL失效;3.文件中缺失對某個元素的定義;4. WSDL文檔中需要引用別的模式文件,但是此模式文件的地址無效或者不存在;5.文件中一些元素丟失了必要的命名前綴;6 需要導(dǎo)入的schema文件不存在;7.其他類型錯誤。因此Web服務(wù)提供者在發(fā)布WSDL文件時就應(yīng)該對WSDL文件進行測試即驗證、解析、存儲,從而發(fā)現(xiàn)錯誤并改正以保證WSDL文件的質(zhì)量。

發(fā)明內(nèi)容
基于上述現(xiàn)有技術(shù)存在的問題,本發(fā)明提出了一種WSDL文件質(zhì)量保證系統(tǒng)及方法,主要目的是為Web服務(wù)提供者提供一個可靠的工具來保證其發(fā)布的WSDL文件的質(zhì)量,使得Web服務(wù)能夠被使用者順利的調(diào)用和執(zhí)行。本發(fā)明提出了一種WSDL文件質(zhì)量保證系統(tǒng),其特征在于,該系統(tǒng)包括三個模塊文件驗證模塊、文件解析模塊和數(shù)據(jù)持久化模塊,其中文件驗證模塊,用于對即將發(fā)布的WSDL文件進行驗證,包括WSDL文件的基本格式驗證和WSDL命名空間是否有效、服務(wù)的URL是否仍然存活、元素是否已經(jīng)聲明、〈schema〉標(biāo)簽下是否缺少必要的命名空間前綴、導(dǎo)入的文件的URL是否有效進行驗證;文件解析模塊,對獲取的Web Service詳細信息進行解析,驗證WSDL文件所傳遞的服務(wù)基本信息、服務(wù)端口信息和端口類型信息、操作基本信息以及操作包含的message對象、message對象包含的part參數(shù)的基本信息是否正確;數(shù)據(jù)持久化模塊,在文件解析模塊的基礎(chǔ)上,對Web Service詳細信息進行存儲;存儲數(shù)據(jù)具體包括Web Service接口的基本服務(wù)信息數(shù)據(jù)、Web Service接口中含有的操作的基本信息數(shù)據(jù)、每一個操作中含有的參數(shù)的基本信息數(shù)據(jù);以及定義對web Service數(shù)據(jù)庫操作的接口,實現(xiàn)數(shù)據(jù)操作。本發(fā)明還提出了一種WSDL文件質(zhì)量保證實現(xiàn)方法,該方法包括以下步驟步驟一、驗證WSDL文件格式獲取WSDL文件;首先驗證WSDL文件的基本格式是否正確,驗證處理具體包括判斷文件是否滿足WSDL文檔的概念模型;通過檢查文件的命名空間屬性的值來驗證是否為空;通過訪問Web服務(wù)地址URL是否失效并根據(jù)返回的頁面狀態(tài)信息判斷Web服務(wù)的地址是否有效;在文檔中按標(biāo)簽名查找某元素,根據(jù)查找結(jié)果檢驗文檔中是否包含某元素的定義WSDL文件中是否缺失對某個元素的定義;驗證〈schema〉標(biāo)簽下各元素及其子節(jié)點是否都含有必要的命名空間前綴;檢驗WSDL文件是否存·在導(dǎo)入文件的語句即〈import〉標(biāo)簽;判斷〈import〉標(biāo)簽中導(dǎo)入URL是否有效;檢驗Schema中是否缺少命名前綴;對于驗證出的錯誤類型和位置進行顯示或進行WSDL文件有效顯示;步驟二、進行WSDL文件解析獲取WSDL文件及其Schema標(biāo)簽列表和服務(wù)Service列表,文件解析處理具體包括在服務(wù)Service列表中獲得當(dāng)前服務(wù)包含的服務(wù)名稱和URL名字、端口 port類型;從上述服務(wù)所使用的協(xié)議以及綁定的端口中分別獲得有關(guān)綁定操作的詳細信息,包括操作名稱和有關(guān)描述信息;根據(jù)標(biāo)志位來判定是否為操作輸入?yún)?shù)若是操作輸入?yún)?shù),則獲取輸入的message對象、獲取message對象中所有的part,對輸入?yún)?shù)進行解析以及輸出參數(shù)列表;若非操作輸入?yún)?shù),則獲取輸出的message對象、獲取message對象中所有的part,對輸出參數(shù)進行解析以及輸入?yún)?shù)列表;在message標(biāo)簽中可以獲取消息中所包含的part,基于RPC方式或者Document方式進行解析獲得相應(yīng)的信息;文件解析處理完成后,即執(zhí)行數(shù)據(jù)持久化操作;上述步驟二中所述對輸入、輸出參數(shù)進行解析的步驟,具體包括對每一個part對象獲取其名字;基于RPC模式的解析過程步驟602,獲取服務(wù)和URL中類型名稱所對應(yīng)的數(shù)據(jù)類型;步驟判斷該數(shù)據(jù)類型是否為簡單數(shù)據(jù)類型;如是,獲取服務(wù)和URL參數(shù)類型信息;如否,對復(fù)雜類型進行解析;基于Document模式的解析過程獲取服務(wù)和URL中元素名稱所對應(yīng)的數(shù)據(jù)類型;判斷該數(shù)據(jù)類型是否為簡單數(shù)據(jù)類型;如是,獲取服務(wù)和URL參數(shù)類型信息;如否,對復(fù)雜類型進行解析。與現(xiàn)有技術(shù)相比,使用本發(fā)明可以在發(fā)布WSDL文檔時就對文檔的有效性進行驗證,如文檔中含有錯誤,則能夠根據(jù)用戶要求進行自動改正并提示用戶錯誤信息及錯誤位置,從而能夠保證文檔的質(zhì)量,方便了 WSDL文檔的發(fā)布者。


圖I為WSDL文件描述模型示意圖;圖2為本發(fā)明所提出的WSDL文件質(zhì)量保證系統(tǒng)的系統(tǒng)結(jié)構(gòu)示意圖;圖3為本發(fā)明所提出的WSDL文件質(zhì)量保證方法的實施流程圖;圖4為本發(fā)明所提出的WSDL文件質(zhì)量保證系統(tǒng)的文件驗證模塊流程圖5為本發(fā)明所提出的WSDL文件質(zhì)量保證系統(tǒng)的文件解析模塊流程圖;圖6為本發(fā)明所提出的WSDL文件質(zhì)量保證系統(tǒng)的文件解析模塊對參數(shù)進行解析的子流程圖;圖7為本發(fā)明所提出的WSDL文件質(zhì)量保證系統(tǒng)的數(shù)據(jù)持久化模塊中存儲WebService基本信息表的數(shù)據(jù)結(jié)構(gòu)圖;圖8為本發(fā)明所提出的WSDL文件質(zhì)量保證系統(tǒng)的數(shù)據(jù)持久化模塊中存儲操作信息表的數(shù)據(jù)結(jié)構(gòu)圖;圖9為本發(fā)明所提出的WSDL文件質(zhì)量保證系統(tǒng)的數(shù)據(jù)持久化模塊中存儲參數(shù)基本信息表的數(shù)據(jù)結(jié)構(gòu)圖;圖10為本發(fā)明所提出的WSDL文件質(zhì)量保證系統(tǒng)的的數(shù)據(jù)持久化模塊中各張表的關(guān)聯(lián)關(guān)系圖。
具體實施例方式以下結(jié)合附圖及較佳實施例,對依據(jù)本發(fā)明提供的具體實施方式
、結(jié)構(gòu)、特征及其功效,詳細說明如下。本發(fā)明的系統(tǒng)框架如圖2所示。如圖2所示,本發(fā)明主要分為三個模塊,分別是文件驗證模塊、文件解析模塊和數(shù)據(jù)持久化模塊。下面分別對各個模塊的主要功能進行簡要的介紹。一、文件驗證模塊
該模塊的主要功能是對即將發(fā)布的WSDL文件的格式進行驗證。WSDL文件中出現(xiàn)的錯誤種類非常的多,經(jīng)過大量分析互聯(lián)網(wǎng)上的WSDL文件并對出錯率較高的幾種錯誤進行研究總結(jié),文件驗證模塊依據(jù)此總結(jié)經(jīng)驗,對需要發(fā)布的WSDL文件逐條進行驗證。如果文件有錯誤則顯示出錯誤信息,包括錯誤類型與錯誤位置等,對于一些錯誤提供基于用戶選擇的自動修改方案,為方便用戶查看驗證WSDL文件,工具應(yīng)該提示用戶文件的錯誤信息、出錯位置以及自動修改的方案。文件驗證模塊具體實現(xiàn)以下兩方面的功能①驗證WSDL文件的基本格式,如標(biāo)簽是否配對使用、是否包含〈service〉等必要的標(biāo)簽等;②對WSDL文件中的命名空間是否有效、服務(wù)的URL是否仍然存活、元素是否已經(jīng)聲明、〈schema〉標(biāo)簽下是否缺少必要的命名空間前綴、導(dǎo)入的文件的URL是否有效等等;從文件驗證模塊的功能可知該模塊僅僅是對WSDL文件簡單錯誤的進行驗證,對于其他錯誤,例如復(fù)雜元素導(dǎo)致的遞歸問題,元素未定義等更為復(fù)雜的錯誤則因為這些錯誤與文件解析關(guān)系密切,要想發(fā)現(xiàn)并改正這些錯誤,則需要對WSDL文件進行解析。另外如果要發(fā)現(xiàn)深層的參數(shù)依賴、消息綁定等方面的錯誤信息也必須對WSDL文件進行解析。本發(fā)明中的文件驗證模塊非常重要,成功的驗證一個WSDL文件能夠為在數(shù)據(jù)庫中批量添加Web服務(wù)提供方便,同時也能避免文件解析做很多無用工作,節(jié)省時間。二、文件解析模塊該模塊的主要功能是利用獲取的Web Service詳細信息,驗證WSDL所傳遞的信息是否正確①服務(wù)的基本信息Web服務(wù)名、Web服務(wù)地址、服務(wù)的namespace等等②操作的基本信息操作名、操作輸入輸出參數(shù)、操作的描述信息等③參數(shù)的基本信息參數(shù)名、參數(shù)類型、是否為ComplexType、ComplexType中包含的基本類型信息等由于WSDL在binding時通常使用RPC和Document兩種方式,因此在解析Web服務(wù)接口的參數(shù)信息時應(yīng)該制定不同的解析方案RPC方式在〈part. . />標(biāo)簽中描述參數(shù)類型的時候,通過其屬性type的值體現(xiàn)出參數(shù)類型信息;而在〈types〉標(biāo)簽中定義數(shù)據(jù)類型時,會使用〈simpleType〉、〈complexType〉等標(biāo)簽表示。
Document方式與RPC方式不同的是,在此方式中是通過其屬性element的值體現(xiàn)出參數(shù)類型信息,在〈types〉標(biāo)簽中也會使用〈element〉來定義〈part〉中提到的參數(shù)類型。所以在解析參數(shù)信息時,對特定的文檔應(yīng)該判定其使用的是何種方式并使用相應(yīng)的類和方法來進行正確解析。三、數(shù)據(jù)持久化模塊該模塊的主要功能是在文件解析模塊的基礎(chǔ)上,對Web Service詳細信息進行存儲。涉及的操作分別為①設(shè)計一個數(shù)據(jù)表用于存放Web Service接口的基本服務(wù)信息;②設(shè)計一個數(shù)據(jù)表用于存放Web Service接口中含有的操作的基本信息;③設(shè)計一個數(shù)據(jù)表用于存放每一個操作中含有的參數(shù)的基本信息; ④定義對數(shù)據(jù)庫操作的接口,實現(xiàn)基本的數(shù)據(jù)庫操作。如圖3所示,為本發(fā)明的WSDL文件質(zhì)量保證系統(tǒng)的實現(xiàn)流程,具體包括以下步驟獲取WSDL文件;驗證文件格式;解析WSDL文件;為保證數(shù)據(jù)持久性,接入數(shù)據(jù)庫操作接口將驗證和解析數(shù)據(jù)按照數(shù)據(jù)結(jié)構(gòu)進行存儲。如圖4所示,文件驗證模塊的具體處理流程包括在該模塊中,由于WSDL基于XML語言,因此可以用校驗XML文件的方法來校驗WSDL文件。文件驗證的過程可以分為以下幾個步驟步驟401、獲取WSDL文件;步驟402、驗證WSDL文件的基本格式是否正確,具體為判斷文件是否滿足WSDL文檔的概念模型;若正確,繼續(xù)步驟403 ;否則執(zhí)行步驟413,WSDL文件中有錯,并顯示錯誤信息,驗證程序結(jié)束;步驟403、通過檢查文件的命名空間屬性的值來驗證是否為空;若為空值,則繼續(xù)步驟404 ;否則執(zhí)行步驟413,WSDL文件中有錯,并顯示錯誤信息,驗證程序結(jié)束;步驟404、通過訪問Web服務(wù)地址URL是否失效并根據(jù)返回的頁面狀態(tài)信息判斷Web服務(wù)的地址是否有效;若為有效,則繼續(xù)步驟405 ;否則執(zhí)行步驟413,WSDL文件中有錯,并顯示錯誤信息,驗證程序結(jié)束;步驟405、在文檔中按標(biāo)簽名查找某元素,根據(jù)查找結(jié)果檢驗文檔中是否包含某元素的定義WSDL文件中是否缺失對某個元素的定義;若缺失,則繼續(xù)步驟406 ;否則執(zhí)行步驟413, WSDL文件中有錯,并顯不錯誤彳目息,驗證程序結(jié)束;;步驟406、驗證〈schema〉標(biāo)簽下各元素及其子節(jié)點是否都含有必要的命名空間前綴,如有元素或其子節(jié)點缺少命名前綴,則繼續(xù)步驟407 ;否則執(zhí)行步驟413,WSDL文件中有錯,并顯示錯誤信息,驗證程序結(jié)束;步驟407、檢驗WSDL文件是否存在導(dǎo)入文件的語句即〈import〉標(biāo)簽,若含有則執(zhí)行步驟408,否則執(zhí)行步驟413,WSDL文件中有錯,并顯示錯誤信息,驗證程序結(jié)束;步驟408 ;判斷〈import〉標(biāo)簽中導(dǎo)入URL是否有效,如有效,則繼續(xù)步驟409 ;否則執(zhí)行步驟413,WSDL文件中有錯,并顯示錯誤信息,驗證程序結(jié)束;步驟409 ;檢驗Schema中是否缺少命名前綴;如果否,則執(zhí)行步驟412 ;如有缺失,執(zhí)行步驟410 ;否則執(zhí)行步驟413,WSDL文件中有錯,并顯示錯誤信息,驗證程序結(jié)束;
步驟410、判斷是否需要對上述的Schema中缺少的命名前綴進行自動改正;如需要,則執(zhí)行步驟411 ;否則執(zhí)行步驟413,WSDL文件中有錯,并顯示錯誤信息,驗證程序結(jié)束;步驟411、將錯誤改正,并將出錯類型、位置顯示出來;步驟412、WSDL文件有效。由于WSDL文件可能出現(xiàn)的錯誤種類繁多,不可能一一列舉解決,雖然以上各步驟并不能保證所有通過文件驗證模塊的文件都是有效的,但是已經(jīng)極大的提高了檢測出錯誤WSDL文件的效率,能夠檢驗出絕大多數(shù)的存在錯誤的WSDL文件。其他應(yīng)該作為檢驗項,以保證所發(fā)布的WSDL文件質(zhì)量的指標(biāo)也應(yīng)考慮在內(nèi),不限于上述流程的描述。如圖5所示,本發(fā)明的WSDL文件質(zhì)量保證系統(tǒng)的實現(xiàn)流程依序執(zhí)行WSDL文件解析流程,由于WSDL文件是基于XML語言的,而且WSDL文檔中各標(biāo)簽、父標(biāo)簽與子標(biāo)簽之間也都有很強的邏輯關(guān)系,文件的格式也相對固定,因此文件進行解析的時候可以按照標(biāo)簽service(服務(wù))一port(端口,定義使用soap等協(xié)議進行傳輸所使用的端口類型)一binding(綁定,描述了傳輸時具體使用的協(xié)議細節(jié))一portType (端口類型,描述了服務(wù)中綁定的操作的信息)一operation (操作,描述了操作中應(yīng)有的輸入輸出消息)一message (定義了操作的交互方式,例如輸入?yún)?shù)集合所構(gòu)成的輸入消息,輸出參數(shù)集合所構(gòu)成的輸出消息)—part (定義了操作的消息中所含有的具體輸入輸出參數(shù))的順序依次進行解析獲取相應(yīng)的信息。例如在message標(biāo)簽下獲取所有的part對象,根據(jù)每個part對象所含有的信息獲取相應(yīng)的輸入輸出參數(shù)類型、名稱等。該流程具體包括以下步驟通過步驟501獲取待解析的WSDL文件,步驟502獲取Schema標(biāo)簽列表;步驟503獲取服務(wù)Service列表;步驟504,在服務(wù)Service列表中獲得當(dāng)前服務(wù)包含的port (即服務(wù)的名稱和URL),在服務(wù)service標(biāo)簽中可以獲取Web服務(wù)的名字及服務(wù)的URL ;步驟505,在port標(biāo)簽下獲得port的名字、類型以及和其關(guān)聯(lián)的binding標(biāo)簽的名稱;步驟506、步驟507,從上述端口綁定所使用的協(xié)議(例如soap或http)以及綁定的端口中分別獲得有關(guān)操作(operation)綁定的詳細信息,該詳細內(nèi)容包括操作名稱和有關(guān)描述信息等;步驟508 ;根據(jù)標(biāo)志位來判定是否為操作輸入?yún)?shù),如果是操作輸入?yún)?shù),則執(zhí)行步驟509 :獲取輸入的message對象、獲取message對象中所有的part、對輸入?yún)?shù)進行解析以及輸出參數(shù)列表;如果判定結(jié)果為非操作輸入?yún)?shù),則執(zhí)行步驟510 ;步驟510、獲取輸出的message對象、獲取message對象中所有的part,對輸出參數(shù)捷星解析以及輸入?yún)?shù)列表;步驟509、510中,在message標(biāo)簽中可以獲取消息中所包含的part名字,還有根據(jù)RPC或者Document方式的不同得到part的類型名或者元素名。上述解析操作完成后,即執(zhí)行數(shù)據(jù)持久化操作。另外,在part標(biāo)簽中,根據(jù)RPC或者Document方式獲取參數(shù)的類型,如果參數(shù)是ComplexType類型則通過不斷的迭代直至解析出最基本的類型。如圖6所示,為文件解析模塊對參數(shù)進行解析的子流程圖。該子流程包括以下具體步驟步驟601,對每一個part對象獲取其名字; 以下分為RPC模式和Document模式兩種模式進行part參數(shù)的解析RPC模式的解析過程步驟602,獲取part中類型名稱所對應(yīng)的數(shù)據(jù)類型;步驟603判斷該數(shù)據(jù)類型是否為簡單數(shù)據(jù)類型(簡單數(shù)據(jù)類型一般使用〈simpleType〉標(biāo)簽來定義,而且要求簡單數(shù)據(jù)類型的定義不能包含屬性,并且元素內(nèi)容是簡單類型值,它主要沿用了 xml schema中所定義的基本數(shù)據(jù)類型,如string, int, double等等);如是,步驟604,獲取part參數(shù)類型信息;如否,對復(fù)雜類型進行解析(復(fù)雜類型一般使用〈complexType〉標(biāo)簽來對數(shù)據(jù)類型定義,在此標(biāo)簽下可以含有〈sequence〉、〈choice〉、〈all〉等子標(biāo)簽,以此來表示元素時否依次序部分或者全部出現(xiàn),當(dāng)然也可以將簡單數(shù)據(jù)類型作為復(fù)雜數(shù)據(jù)類型的一個部分出現(xiàn)。例如〈xsd:complexType name=//AuthHeader^XsequenceXeIementname=//login//type=//xsd: string^minOccurs=^! " max0ccurs=//l7>〈/sequenceX/xsd: complexType)就定義了一個比較簡單的復(fù)雜數(shù)據(jù)類型)。Document模式的解析過程步驟612,獲取part中元素名稱所對應(yīng)的數(shù)據(jù)類型;步驟613判斷該數(shù)據(jù)類型是否為簡單數(shù)據(jù)類型(使用〈element name=〃stationId〃type=〃xsd:string〃/>語句就定義了一個簡單的簡單數(shù)據(jù)類型);如是,步驟614,獲取part中包含的參數(shù)類型信息;如否,對復(fù)雜數(shù)據(jù)類型進行解析(例如使用如下語句<elementname=〃Parameters l〃XcomplexType>〈sequenceXelementname=〃stationId〃type=〃xsd: string〃/>〈/sequenceX/complexType></element> 就定義了一個 Document 模式下的復(fù)雜數(shù)據(jù)類型)。如圖7所示,為數(shù)據(jù)持久化模塊中Web Service基本信息表(serviceinfo表)的數(shù)據(jù)結(jié)構(gòu)圖,用于存儲Web Service接口基本信息的數(shù)據(jù)字段。serviceinfo表,主要包括服務(wù)名、命名空間、服務(wù)的id、WSDL文件的存儲位置等Web服務(wù)接口基本信息字段。如圖8所示,為數(shù)據(jù)持久化模塊中存儲操作信息表(operationinfo表)的數(shù)據(jù)結(jié)構(gòu)圖,用于存儲Web服務(wù)接口中操作的基本信息的數(shù)據(jù)字段。operationinfo表中主要包含操作名,WSDL文件中對操作的描述信息、服務(wù)id、操作的id等操作的基本信息字段。如圖9所示,為數(shù)據(jù)持久化模塊中存儲參數(shù)基本信息表(parameterinfo表)(此處的參數(shù)具體指對于服務(wù)中每個操作所含有的輸入輸出參數(shù)信息)的數(shù)據(jù)結(jié)構(gòu)圖用于存儲操作中參數(shù)的基本信息的數(shù)據(jù)庫字段。parameterinfo表包含了標(biāo)識參數(shù)的輸入或輸出、參數(shù)名、參數(shù)的類型、參數(shù)的id、所屬操作的id、是否為ComplexType類型等參數(shù)的基本信息字段。如圖10所示,為數(shù)據(jù)持久化模塊中各張表的關(guān)聯(lián)關(guān)系圖,即上述serviceinfo表、operationinfo表、parameterinfo表三個表之間的關(guān)聯(lián)關(guān)系。parameterinfo表與operationinfo表彼此間的信息相互關(guān)聯(lián),而operationinfo表與serviceinfo表彼此間的信息相互關(guān)聯(lián),serviceinfo表與parameterinfo表之間沒有信息關(guān)聯(lián) 關(guān)系。
權(quán)利要求
1.一種WSDL文件質(zhì)量保證系統(tǒng),其特征在于,該系統(tǒng)包括三個模塊文件驗證模塊、文件解析模塊和數(shù)據(jù)持久化模塊,其中 文件驗證模塊,用于對即將發(fā)布的WSDL文件進行驗證,包括WSDL文件的基本格式驗證和WSDL命名空間是否有效、服務(wù)的URL是否仍然存活、元素是否已經(jīng)聲明、〈schema〉標(biāo)簽下是否缺少必要的命名空間前綴、導(dǎo)入的文件的URL是否有效進行驗證; 文件解析模塊,對獲取的Web Service詳細信息進行解析,驗證WSDL文件所傳遞的服務(wù)基本信息、服務(wù)端口信息和端口類型信息、操作基本信息以及操作包含的message對象、message對象包含的part參數(shù)的基本信息是否正確;message表示操作的交互方式,part表示操作的消息中所含有的具體輸入輸出參數(shù); 數(shù)據(jù)持久化模塊,在文件解析模塊的基礎(chǔ)上,對Web Service詳細信息進行存儲;存儲數(shù)據(jù)具體包括用于存儲Web Service接口基本信息的Web Service基本信息表、用于存儲Web服務(wù)接口中操作的基本信息的操作信息表以及;以及用于存儲操作中參數(shù)的基本信息的參數(shù)基本信息表;并且,在模塊中定義對web Service數(shù)據(jù)庫操作的接口,實現(xiàn)數(shù)據(jù)操作。
2.如權(quán)利要求I所述的WSDL文件質(zhì)量保證系統(tǒng),其特征在于,所述WebService基本信息表與操作信息表相互關(guān)聯(lián);操作的消息中所含有的具體輸入輸出參數(shù)基本信息表與操作信息表相互關(guān)聯(lián),Web Service基本信息表與操作的消息中所含有的具體輸入輸出參數(shù)基本信息表彼此不相關(guān)聯(lián)。
3.—種WSDL文件質(zhì)量保證實現(xiàn)方法,其特征在于,該方法包括以下步驟 步驟一、驗證WSDL文件格式獲取WSDL文件;首先驗證WSDL文件的基本格式是否正確,驗證處理具體包括 判斷文件是否滿足WSDL文檔的概念模型;通過檢查文件的命名空間屬性的值來驗證是否為空;通過訪問Web服務(wù)地址URL是否失效并根據(jù)返回的頁面狀態(tài)信息判斷Web服務(wù)的地址是否有效;在文檔中按標(biāo)簽名查找某元素,根據(jù)查找結(jié)果檢驗文檔中是否包含某元素的定義WSDL文件中是否缺失對某個元素的定義;驗證〈schema〉標(biāo)簽下各元素及其子節(jié)點是否都含有必要的命名空間前綴;檢驗WSDL文件是否存在導(dǎo)入文件的語句即〈import〉標(biāo)簽;判斷〈import〉標(biāo)簽中導(dǎo)入URL是否有效;檢驗Schema中是否缺少命名前綴;對于驗證出的錯誤類型和位置進行顯示或進行WSDL文件有效顯示; 步驟二、進行WSDL文件解析獲取WSDL文件及其Schema標(biāo)簽列表和服務(wù)Service列表,文件解析處理具體包括 在服務(wù)Service列表中獲得當(dāng)前服務(wù)包含的服務(wù)名稱和URL名字、端口 port類型;從上述服務(wù)所使用的協(xié)議以及綁定的端口中分別獲得有關(guān)綁定操作的詳細信息,包括操作名稱和有關(guān)描述信息;根據(jù)標(biāo)志位來判定是否為操作輸入?yún)?shù)若是操作輸入?yún)?shù),則獲取輸入的message對象、獲取message對象中所有的part,對輸入?yún)?shù)進行解析以及輸出參數(shù)列表;若非操作輸入?yún)?shù),則獲取輸出的message對象、獲取message對象中所有的part,對輸出參數(shù)進行解析以及輸入?yún)?shù)列表;在message標(biāo)簽中可以獲取消息中所包含的part,基于RPC方式或者Document方式進行解析獲得相應(yīng)的信息; 上述步驟二中所述對操作的消息中所含有的具體輸入輸出參數(shù)進行解析的步驟,具體包括對每一個part對象獲取其名字; 基于RPC模式的解析過程步驟602,獲取服務(wù)和URL中類型名稱所對應(yīng)的數(shù)據(jù)類型;步驟判斷該數(shù)據(jù)類型是否為簡單數(shù)據(jù)類型;如是,獲取服務(wù)和URL參數(shù)類型信息;如否,對復(fù)雜數(shù)據(jù)類型進行解析; 基于Document模式的解析過程獲取服務(wù)和URL中元素名稱所對應(yīng)的數(shù)據(jù)類型;判斷該數(shù)據(jù)類型是否為簡單數(shù)據(jù)類型;如是,獲取服務(wù)和URL參數(shù)類型信息;如否,對復(fù)雜數(shù)據(jù)類型進行解析。
步驟三、上述步驟二的文件解析處理完成后,即執(zhí)行數(shù)據(jù)持久化操作,具體處理包括對Web Service詳細信息進行存儲;存儲數(shù)據(jù)具體包括用于存儲Web Service接口基本信息的Web Service基本信息表、用于存儲Web服務(wù)接口中操作的基本信息的操作信息表以及;以及用于存儲操作中參數(shù)的基本信息的參數(shù)基本信息表;并且,在模塊中定義對webService數(shù)據(jù)庫操作的接口,實現(xiàn)數(shù)據(jù)操作。
4.如權(quán)利要求I所述的WSDL文件質(zhì)量保證實現(xiàn)方法,其特征在于,所述Web Service基本信息表與操作信息表相互關(guān)聯(lián);操作的消息中所含有的具體輸入輸出參數(shù)基本信息表與操作信息表相互關(guān)聯(lián),Web Service基本信息表與操作的消息中所含有的具體輸入輸出參數(shù)基本信息表彼此不相關(guān)聯(lián)。
全文摘要
本發(fā)明公開了一種WSDL文件質(zhì)量保證系統(tǒng)及其實現(xiàn)方法,該系統(tǒng)包括三個模塊文件驗證模塊、文件解析模塊和數(shù)據(jù)持久化模塊,其中文件驗證模塊用于對即將發(fā)布的WSDL文件進行驗證;文件解析模塊,對獲取的Web Service詳細信息進行解析;數(shù)據(jù)持久化模塊,在文件解析模塊的基礎(chǔ)上,對Web Service詳細信息進行存儲。與現(xiàn)有技術(shù)相比,本發(fā)明可以在發(fā)布WSDL文檔時就對文檔的有效性進行驗證,如文檔中含有錯誤,則能夠根據(jù)用戶要求進行自動改正并提示用戶錯誤信息及錯誤位置,從而能夠保證文檔的質(zhì)量,方便了WSDL文檔的發(fā)布者。
文檔編號G06F17/30GK102799629SQ20121021281
公開日2012年11月28日 申請日期2012年6月26日 優(yōu)先權(quán)日2012年6月26日
發(fā)明者蘭波, 陳世展, 馮志勇 申請人:天津大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1