逐步解說:設計 Web 服務
更新:2007 年 11 月
此逐步解說將說明使用 Visual Studio Team System Architecture 版 [應用程式設計工具] 設計 Web 服務的重要概念,並解釋如何:
定義現有 Web 服務上的作業。
實作 Web 服務。
加入外部 Web 服務 (方案外的 Web 服務),並檢視 Web 方法。
將外部 Web 服務連接到其他應用程式。
此逐步解說會建置在入門逐步解說主題逐步解說:在應用程式圖表上定義應用程式中出現的概念。
若要定義 Catalog Web 服務上的作業
載入在 https://go.microsoft.com/fwlink/?LinkId=40867 上所提供的範例。
按兩下 Catalog.ad 檔案開啟應用程式圖表。
[應用程式設計工具] 會顯示應用程式圖表。
以滑鼠右鍵按一下 [Catalog] 上的 [ CatalogWebService ] 端點,然後再選擇 [定義作業] 以檢視 [Web 服務細節] 視窗。
在 [Web 服務細節] 視窗中,按一下 [<加入作業>],然後輸入 [GetProductDetails]。
在 [型別] 下輸入 [ProductDetails]。
您在此輸入的作業型別會指定作業的傳回型別。
展開 [GetProductDetails] 左方的加號 (+),將參數加入至作業。
按一下 [<加入參數>],然後輸入 [ProductNumber]。在 [型別] 中輸入 [Integer]。
注意事項: 當您開始輸入 [型別] 欄位時,Visual Studio 會顯示可用型別的清單。
此作業會採用整數的產品編號,並傳回 ProductDetails 結構。
依照預設,定義的作業為要求-回應。如需如何變更此屬性的詳細資訊,請參閱 HOW TO:指定 ASP.NET Web 服務的單向或要求-回應作業。
若要設定專案屬性並實作 Catalog Web 服務
在 [Catalog] 應用程式上按一下 [CatalogWebService] 端點。
檢視 [屬性] 視窗。
將 [WSDL 繫結名稱] 屬性變更為 [Catalog]。
將 [WSDL繫結命名空間] 屬性變更為 [http://Adventureworks/Products]。
按一下 [Catalog] 應用程式,並將其 [語言] 屬性變更為 [Visual C#]。
注意事項: 如果您在 Visual Studio 安裝了所有語言,此屬性的預設值為 [Visual Basic]。
選取 [Catalog] 應用程式之後,請在 [圖表] 功能表上指向 [實作],然後按一下 [實作應用程式]。
[確認應用程式實作] 對話方塊隨即出現。
檢閱 [Catalog] 應用程式的實作細節,然後按一下 [確定]。
實作處理會以適當的 Web 參考,產生應用程式的專案。一旦完成實作之後,即會以下拉式陰影顯示應用程式。
注意事項: 出現 [安全性警告] 對話方塊時,請按一下 [關閉]。這個對話方塊表示正在將應用程式圖表上之資料庫的資料庫連接字串寫入未加密且為純文字的組態檔。
在 [方案總管] 中,檢閱 Proxy 類別 (Class) 和 Web 參考。
開啟 CatalogWebService.cs 檔案,然後檢視 ProductDetails WebMethod 的程式碼。
請注意,Visual Studio 已經設定 [WSDL 繫結名稱] 和 [WSDL 繫結命名空間],而且已經建立方法簽章。
在程式碼中,將作業名稱從 GetProductDetails 變更為 GetProductInformation。
按一下 [CatalogWebService] 端點,然後檢視 [Web 服務細節] 視窗。
[Web 服務細節] 視窗中的作業名稱已變更,以反映在程式碼中對 Web 方法簽章的變更。任何在程式碼中所進行的變更會自動反映在 [Web 服務細節] 視窗中,反之亦然。
若要加入外部 Web 服務並檢視 Web 方法
開啟 [工具箱],然後將 [ExternalWebService] 拖曳到應用程式圖表。
[加入 Web 參考] 對話方塊隨即出現。
在您的本機電腦上尋找 LegacyCatalog.wsdl 的位置。
在 [URL] 方塊中,輸入這個位置並按一下 [移至]。
WSDL 檔案的描述會與它定義的方法一起出現。
按一下 [加入參考]。
外部 Web 服務會出現在應用程式圖表上。
按一下 [GetLegacyInfo] 端點。
在 [檢視] 功能表中指向 [其他視窗],然後按一下 [Web 服務細節],以檢視 [Web 服務細節] 視窗。
檢視在 [Web 服務細節] 視窗中的 Web 方法。
此特定的 WSDL 檔案包含存取舊版 Catalog 中資訊的方法。
若要連接外部 Web 服務與 Catalog Web 服務
按住 ALT 鍵時,將外部 Web 服務的 [GetLegacyInfo] 端點拖曳到 [Catalog] 應用程式的框線上。
此動作會在 [Catalog] 上建立消費者端點,指出 [LegacyInfo] 所提供的 [Catalog] 應用程式消費服務。實作 [Catalog] 應用程式時,Visual Studio 會針對在 [GetLegacyInfo] 端點上定義之 Web 方法產生 Proxy 類別。
Visual Studio 會將外部 Web 服務的 .sdm 檔案加入至方案。此檔案包含該應用程式的 SDM 定義。如需詳細資訊,請參閱系統定義模型 (SDM) 概觀。
後續步驟
下一個步驟是要使用 Web 服務端點。如需詳細資訊,請參閱逐步解說:合約導向的 Web 服務設計 - 建立端點。