明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

選擇一個微軟SOAP Toolkit

[摘要]導(dǎo) 讀:SOAP Toolkit 是微軟提供的快速開發(fā)網(wǎng)絡(luò)服務(wù)(Web Services)的工具包。本文提供了一些包括SOAP Toolkit 各個版本以及.NET 框架和Visual Studio.NET的資料,并告訴我們怎樣去選擇一個在現(xiàn)在和將來都非常適合你的微軟SOAP Toolkit 版本...
導(dǎo) 讀:SOAP Toolkit 是微軟提供的快速開發(fā)網(wǎng)絡(luò)服務(wù)(Web Services)的工具包。本文提供了一些包括SOAP Toolkit 各個版本以及.NET 框架和Visual Studio.NET的資料,并告訴我們怎樣去選擇一個在現(xiàn)在和將來都非常適合你的微軟SOAP Toolkit 版本。


--------------------------------------------------------------------------------

翻譯整理:51dotnet.com(微軟.net技術(shù)網(wǎng))

原文出處:http://msdn.microsoft.com/xml/general/soap1and2tech.asp

選擇1.0版本或2.0版本

在選擇SOAP Toolkit 版本前,請先在下邊的三個選項中選擇你自己是屬于哪一類情況:

1.你已經(jīng)打算要發(fā)布一個基于微軟的SOAP Toolkit 1.0版本的網(wǎng)絡(luò)服務(wù)(Web Services)產(chǎn)品。
2.你還在創(chuàng)建一個網(wǎng)絡(luò)服務(wù)(Web Services)產(chǎn)品過程的早期。
3.你處于網(wǎng)絡(luò)服務(wù)(Web Services)技術(shù)的評估階段。

如果你是第一種情況,那么就不應(yīng)該使用微軟SOAP Toolkit 1.0版本代碼樣本,它只會使你的工作停止(或減慢),你應(yīng)該用12月份發(fā)布的微軟SOAP Toolkit 1.0版本,這個版本在穩(wěn)定性和可執(zhí)行性上都有所提高。如果你的一些服務(wù)客戶正在使用基于微軟的.NET 框架和Visual Studio.NET Beta 1客戶程序,你也需要使用12月份發(fā)布的產(chǎn)品。一旦你能這樣做,你就應(yīng)該計劃轉(zhuǎn)移到微軟支持的SOAP框架——或者是為應(yīng)用程序設(shè)計的微軟SOAP Toolkit 2.0版本,這個版本將于2001年秋季前或者在Visual Studio .NET和.NET框架正式發(fā)布前發(fā)布。當然,一旦它發(fā)布后而你卻不能將之運用到已存在服務(wù)中的話,你將需要在并行方案中轉(zhuǎn)移以維護你已存在的服務(wù)。使用同樣的標準來討論第二和第三種情況,你同樣要考慮是否要轉(zhuǎn)移到微軟的SOAP的Toolkit 2.0版本還是到.NET框架和Visual Studio .NET。

如果你是第二種情況,處于創(chuàng)建網(wǎng)絡(luò)服務(wù)(Web Services)產(chǎn)品過程的早期。你預(yù)期在2001年秋季將產(chǎn)品投放市場,你就需要決定是否能接受,與選擇SOAP Toolkit 2.0版本技術(shù)相比,選擇這些新的.NET產(chǎn)品的BETA 2版本去發(fā)布你的服務(wù)所要承擔的風(fēng)險。微軟的SOAP Toolkit 2.0版本采用了網(wǎng)絡(luò)發(fā)布方式,你可以期望在2001年秋天以前得到多次更新。另外一個方面,如果你的服務(wù)代碼是基于.NET技術(shù)的話,你能得到生產(chǎn)力和戰(zhàn)略上的優(yōu)勢,因為.NET技術(shù)代表了微軟的一個SOAP的下部結(jié)構(gòu)的長期投資。

如果你是第三種情況,并且仍在評估網(wǎng)絡(luò)服務(wù)(Web Services)的潛力,那么你應(yīng)該考慮不使用任何版本的SOAP Toolkit 去創(chuàng)造你的網(wǎng)絡(luò)服務(wù)(Web Services)。這是因為微軟為網(wǎng)絡(luò)服務(wù)(Web Services)而提供一個快速的軟件應(yīng)用開發(fā)環(huán)境的長期戰(zhàn)略是.NET和Visual Studio .NET,而你能等待我們繼續(xù)我們的投資,使這些產(chǎn)品用最有效的生產(chǎn)方式去創(chuàng)建和使用網(wǎng)絡(luò)服務(wù)(Web Services)。

從1.0版本轉(zhuǎn)移到2.0版本

轉(zhuǎn)換你的代碼

微軟SOAP Toolkit 1.0版本的開發(fā)者很少碰到類似于移植基于ROPE.Proxy對象的客戶端代碼到高級的2.0版本接口這樣的問題。在這里僅僅眾所周知的問題是在2.0版本中暫時缺少對客戶端證書的支持——你需要去徹底除去那些使用12月份發(fā)布的1.0版本特性的代碼?蛻舳俗C書將在最后發(fā)布的2.0 版本中被支持。

微軟的SOAP Toolkit 1.0版本的開發(fā)者通過客戶端代碼使用低層的ROPE. Packager接口和直接訪問SOAP消息的相關(guān)特性,將在2.0版本的低層接口中進一步改進這項任務(wù)的靈活性和程序可用性。同樣的,那些使用ROPE.WireTransfer的開發(fā)者將會發(fā)現(xiàn)一個改進后的2.0版本的體系框架,它允許插入不同的連接器去連接SOAP端點并在它們之間傳輸消息,就象不同協(xié)議的處理器一樣。不幸地,所有這些提高需要重寫大部分或所有的低層代碼。

那些使用ISAPI 監(jiān)聽器的微軟SOAP Toolkit 1.0版本的開發(fā)者不會發(fā)現(xiàn)其和2.0版本、Visual Studio .NET BETA1版本有相同之處。你現(xiàn)在應(yīng)該使用2.0版本中的ASP監(jiān)聽器,而 ISAPI監(jiān)聽器最終將包括在最后的版本中。微軟SOAP Toolkit 2.0版本中的網(wǎng)絡(luò)服務(wù)元語言(WSML)文件達到了類似于微軟SOAP Toolkit 1.0版本的ISAPI 監(jiān)聽器使用的.SOD文件把消息名字映射到PROGID的目的。這種機制可以使單個的、普通的監(jiān)聽器為多種服務(wù)所使用;不象1.0版本的ASP監(jiān)聽器,如果使用2.0版本的ASP監(jiān)聽器也需要WSML文件。

另外,那些使用ISAPI監(jiān)聽器的微軟SOAP Toolkit 1.0版本開發(fā)者需要移植glue代碼,把它們添加到自動生成的interface. Asp中。

服務(wù)描述格式

微軟SOAP Toolkit 1.0版本、.NET框架和Visual Studio.NET Beta 1是以舊的服務(wù)描述語言(SDL)來描述網(wǎng)絡(luò)服務(wù)(Web Services)的功能的。微軟SOAP Toolkit 2.0版本、.NET框架和Visual Studio.NET Beta 2版本支持新的WSDL服務(wù)描述格式。為了一個能支持那些要求WSDL合同的客戶的服務(wù),你需要移植到微軟SOAP Toolkit 2.0版本或.NET框架和Visual Studio.NET Beta 2。在變遷的過程中,你需要去支持客戶期望的SDL或WSDL服務(wù)合同,微軟正在評估提供一個SDL到WSDL的“編譯器”的可行性。這個編譯器將允許使用微軟SOAP Toolkit 2.0版本客戶端去訪問使用SOAP Toolkit 1.0版本或.NET框架和Visual Studio.NET創(chuàng)建的服務(wù)。如果這能幫助你移植到微軟SOAP Toolkit 1.0版本,請訪問如下地址news://msnews.microsoft.com/microsoft.public.xml.soapsdk.

XML Schema格式

微軟SOAP Toolkit 1.0版本,.NET框架和Visual Studio.NET Beta 1是以舊的XML-DATA REDUCED(XDR)Schema格式為基礎(chǔ)的。微軟SOAP Toolkit 2.0版本或.NET框架和Visual Studio.NET Beta 2版本支持新的被W3C所提議的XML Schema定義(XSD)格式。

Schema格式是和服務(wù)描述相關(guān)的,在這里使用XDR定義SDL,而WSDL使用XSD。特別的是,XML原始的數(shù)據(jù)類型或被輸入或輸出參數(shù)類型的使用者定義Schema,必須在期望的XDR或XSD格式中指定。由于兩個Toolkit 都可以用工具去生成服務(wù)描述,這僅僅對那些手寫代碼文件的開發(fā)者重要。

只要是SOAP Toolkit 1.0版本所支持的XML原始數(shù)據(jù)類型,微軟SOAP Toolkit 2.0版本都支持。同樣的,這些普通的原始數(shù)據(jù)類型映射了與之相對應(yīng)的COM變量類型。

字符設(shè)置

用Windows code page 1252中的字符串變量編制的8位 ANSI字符來測試微軟SOAP Toolkit 1.0版本。因為SOAP Toolkit 1.0版本信息序列化沒有在XML聲明中指定字符編碼,缺省的SOAP信息是UTF-8編碼(包括所有信息中的字符串變量)。實際上SOAP Toolkit 1.0版本是使用了UTF-8字符串編碼(包括UTF-8字符的子集),而UTF-8編碼與在Windows code page 1252中的8位ANSI編碼是不能區(qū)別的。

SOAP Toolkit 2.0版本則可以同時接受UTF-8和UTF-16字符串編碼,因此你使用SOAP Toolkit 1.0編寫的使用Windows code page 1252中的8位ANSI編碼的客戶端程序在SOAP Toolkit 2.0版本中能夠繼續(xù)使用。

在SOAP Toolkit 2.0版本中的服務(wù)器端信息發(fā)送代碼將會傳送字符串到UTF-16碼制的BSTR變量中。如果你的服務(wù)器端代碼要求有8位的ANSI編碼去編寫,你將需要移植到SOAP Toolkit 2.0版本,它將更新你的編碼到UTF-16碼制。

總結(jié)

我們希望幾乎每一個人都能馬上開始使用微軟的SOAP Toolkit 2.0版本,用來建立網(wǎng)絡(luò)服務(wù)(Web Services)。隨著開發(fā)者的支持,一個具有特色的擴展集和一個設(shè)計完美的體系結(jié)構(gòu)的微軟SOAP Toolkit 2.0版本已經(jīng)為取代微軟SOAP Toolkit 1.0版本作好準備。

我們知道,一些人還不能馬上方便地從SOAP Toolkit 1.0版本轉(zhuǎn)換過來,并且采用微軟SOAP Toolkit 2.0版本將會是一個移植的過程。