webservice調(diào)用技術(shù)文檔

webservice調(diào)用技術(shù)文檔

ID:18698106

大小:97.00 KB

頁(yè)數(shù):28頁(yè)

時(shí)間:2018-09-20

webservice調(diào)用技術(shù)文檔_第1頁(yè)
webservice調(diào)用技術(shù)文檔_第2頁(yè)
webservice調(diào)用技術(shù)文檔_第3頁(yè)
webservice調(diào)用技術(shù)文檔_第4頁(yè)
webservice調(diào)用技術(shù)文檔_第5頁(yè)
資源描述:

《webservice調(diào)用技術(shù)文檔》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、1.?什么是webservice從表面上看,Webservice就是一個(gè)應(yīng)用程序,它向外界暴露出一個(gè)能夠通過(guò)Web進(jìn)行調(diào)用的API。這就是說(shuō),你能夠用編程的方法通過(guò)Web來(lái)調(diào)用這個(gè)應(yīng)用程序。對(duì)Webservice更精確的解釋?zhuān)篧ebservices是建立可互操作的分布式應(yīng)用程序的新平臺(tái)。作為一個(gè)Windows程序員,你可能已經(jīng)用COM或DCOM建立過(guò)基于組件的分布式應(yīng)用程序。COM是一個(gè)非常好的組件技術(shù),但是我們也很容易舉出COM并不能滿足要求的情況。Webservice平臺(tái)是一套標(biāo)準(zhǔn),它定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操作性。你可以用任何你喜歡的語(yǔ)言,在任何你喜歡的平臺(tái)上寫(xiě)Webservi

2、ce,只要我們可以通過(guò)Webservice標(biāo)準(zhǔn)對(duì)這些服務(wù)進(jìn)行查詢(xún)和訪問(wèn)。不管你的Webservice是用什么工具,什么語(yǔ)言寫(xiě)出來(lái)的,只要你用SOAP協(xié)議通過(guò)HTTP來(lái)調(diào)用它,總體結(jié)構(gòu)都應(yīng)如下圖所示。通常,你用你自己喜歡的語(yǔ)言(如VB6或者VB.NET)來(lái)構(gòu)建你的Webservice,然后用SOAPToolkit或者.NET的內(nèi)建支持來(lái)把它暴露給Web客戶(hù)。于是,任何語(yǔ)言,任何平臺(tái)上的客戶(hù)都可以閱讀其WSDL文檔,以調(diào)用這個(gè)Webservice??蛻?hù)根據(jù)WSDL描述文檔,會(huì)生成一個(gè)SOAP請(qǐng)求消息。Webservice都是放在Web服務(wù)器(如IIS)后面的,客戶(hù)生成的SOAP請(qǐng)求會(huì)被嵌入在一個(gè)H

3、TTPPOST請(qǐng)求中,發(fā)送到Web服務(wù)器來(lái)。Web服務(wù)器再把這些請(qǐng)求轉(zhuǎn)發(fā)給Webservice請(qǐng)求處理器。對(duì)VB6程序來(lái)說(shuō),Webservice請(qǐng)求處理器是一個(gè)與SOAPToolkit組件協(xié)同工作的ASP頁(yè)面或ISAPIextension。而對(duì)VB.NET程序來(lái)說(shuō),Webservice請(qǐng)求處理器則是一個(gè).NETFramework自帶的ISAPIextension。請(qǐng)求處理器的作用在于,解析收到的SOAP請(qǐng)求,調(diào)用Webservice,然后再生成相應(yīng)的SOAP應(yīng)答。Web服務(wù)器得到SOAP應(yīng)答后,會(huì)再通過(guò)HTTP應(yīng)答的方式把它送回到客戶(hù)端。2.?基本概念SOAP?Webservice建好以后,其

4、他人就會(huì)去調(diào)用它。簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)提供了標(biāo)準(zhǔn)的遠(yuǎn)程過(guò)程調(diào)用(RPC)方法來(lái)調(diào)用Webservice。SOAP規(guī)范定義了SOAP消息的格式,以及怎樣通過(guò)HTTP協(xié)議來(lái)使用SOAP。SOAP也是基于XML和XSD的,XML是SOAP的數(shù)據(jù)編碼方式??蛻?hù)端和服務(wù)端之間的方法調(diào)用請(qǐng)求和結(jié)果返回值都放在這些消息里。??????XML和XSD可擴(kuò)展的標(biāo)記語(yǔ)言(XML)是Webservice平臺(tái)中表示數(shù)據(jù)的基本格式。除了易于建立和易于分析外,XML主要的優(yōu)點(diǎn)在于它既是平臺(tái)無(wú)關(guān)的,又是廠商無(wú)關(guān)的。無(wú)關(guān)性是比技術(shù)優(yōu)越性更重要的。XML解決了數(shù)據(jù)表示的問(wèn)題,但它沒(méi)有定義一套標(biāo)準(zhǔn)的數(shù)據(jù)類(lèi)型,更沒(méi)有說(shuō)怎么

5、去擴(kuò)展這套數(shù)據(jù)類(lèi)型。例如,整形數(shù)到底代表什么?16位,32位,還是64位?這些細(xì)節(jié)對(duì)實(shí)現(xiàn)互操作性都是很重要的。W3C制定的XMLSchema(XSD)就是專(zhuān)門(mén)解決這個(gè)問(wèn)題的一套標(biāo)準(zhǔn)。它定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類(lèi)型,并給出了一種語(yǔ)言來(lái)擴(kuò)展這套數(shù)據(jù)類(lèi)型。Webservice平臺(tái)就是用XSD來(lái)作為其數(shù)據(jù)類(lèi)型系統(tǒng)的。當(dāng)用某種語(yǔ)言(如VB.NET或C#)來(lái)構(gòu)造一個(gè)Webservice時(shí),為了符合Webservice標(biāo)準(zhǔn),所有使用的數(shù)據(jù)類(lèi)型都必須被轉(zhuǎn)換為XSD類(lèi)型。??????WSDL(WebServicesDescriptionLanguage)用于描述服務(wù)端所提供服務(wù)的XML格式。WSDL文件里,描述了服

6、務(wù)端提供的服務(wù),提供的調(diào)用方法,以及調(diào)用時(shí)所要遵循的格式,比如調(diào)用參數(shù)和返回值的格式等等。WSDL很像COM編程里的IDL(InterfaceDescriptionLanguage),是服務(wù)器與客戶(hù)端之間的契約,雙方必須按契約嚴(yán)格行事才能實(shí)現(xiàn)功能。??WSML(WebServicesMetaLanguage)用于描述WSDL里提供的方法與實(shí)現(xiàn)該方法的COM對(duì)象之間的映射關(guān)系。該文件是Microsoft的實(shí)現(xiàn)中特有的,不是SOAP標(biāo)準(zhǔn)的一部分。一般情況下,該文件只在服務(wù)端存在。3.Webservice的技術(shù)特點(diǎn)長(zhǎng)項(xiàng)一:跨防火墻的通信如果應(yīng)用程序有成千上萬(wàn)的用戶(hù),而且分布在世界各地,那么客戶(hù)端和服

7、務(wù)器之間的通信將是一個(gè)棘手的問(wèn)題。因?yàn)榭蛻?hù)端和服務(wù)器之間通常會(huì)有防火墻或者代理服務(wù)器。在這種情況下,使用DCOM就不是那么簡(jiǎn)單,通常也不便于把客戶(hù)端程序發(fā)布到數(shù)量如此龐大的每一個(gè)用戶(hù)手中。傳統(tǒng)的做法是,選擇用瀏覽器作為客戶(hù)端,寫(xiě)下一大堆ASP頁(yè)面,把應(yīng)用程序的中間層暴露給最終用戶(hù)。這樣做的結(jié)果是開(kāi)發(fā)難度大,程序很難維護(hù)。舉個(gè)例子,在應(yīng)用程序里加入一個(gè)新頁(yè)面,必須先建立好用戶(hù)界面(Web頁(yè)面),并在

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。