找出 Web 服務

更新:2007 年 11 月

有時候,您可能同時是 Web 服務的提供者和消費者。在這種情況下,您可能知道 Web 服務的位置及功能。而其他時候,您可能存取的是其他人所提供的 Web 服務。在這種情況下,您可能甚至不知道是否有適合您用途的 Web 服務存在。

Web 參考

若要簡化程式碼模型,以 Managed 程式碼所撰寫的應用程式會使用 Web 參考,以便在本機表示每個 Web 服務。使用 [加入 Web 參考] 對話方塊,將 Web 參考加入至您的專案。這個對話方塊讓您能夠瀏覽本機伺服器、Microsoft UDDI 目錄和整個網際網路。Web 服務提供者會在 Web 服務目錄中公佈他們的 Web 服務,此目錄就是 Web 服務消費者搜尋所要使用之 Web 服務的位置。如需詳細資訊,請參閱 XML Web Service 目錄

[加入 Web 參考] 對話方塊會使用 Web 服務探索程序,找出您在對話方塊中巡覽之網站上的合格 Web 服務。如果是指定的位址,它將使用為找出 Web 服務說明文件 (符合 Web 服務描述語言 (WSDL) 文法) 所設計的演算法來質詢網站。如需詳細資訊,請參閱 XML Web Service 探索XML Web Service 描述

一旦使用 [加入 Web 參考] 對話方塊找到應用程式所要存取的 Web 服務後,按一下 [加入參考] 按鈕,指示 Visual Studio 將服務描述下載至本機電腦,然後產生所選 Web 服務的 Proxy 類別。Proxy 類別中包含的方法,可用來同步或非同步呼叫每個公開的 Web 服務方法。這個類別包含於本機 .wsdl 檔案的程式碼後置的檔案中。如需詳細資訊,請參閱 Visual Studio 中的 Web 參考加入 Web 參考對話方塊

您可以使用 [Web 參考 URL] 屬性,指定 Web 服務的 URL。[加入 Web 參考] 在預設狀況下會將此屬性設定為您選擇的 Web 服務的 URL,這是一個靜態的 URL。Web 參考可使用靜態 URL 或動態 URL。

如果將 [URL 行為] 保留為預設的靜態值,那麼當您建立 Proxy 類別的執行個體時,它會使用硬式編碼的 URL 來設定 URL 屬性。

如果您將 Web 參考的 URL 行為屬性設定為動態,則應用程式會在執行階段時從應用程式組態檔的 appSettings 項目 (一般設定結構描述) 取得 URL。當您在加入 Web 參考後指定動態 URL 時,Visual Studio 會更新 Proxy 類別,從組態檔取得 URL。

<appSettings>
   <add key="myApplication.myServer.Service1"
        value="http://myServer/myWebService/Service1.asmx"/>
</appSettings>

當您建立 Proxy 物件的執行個體時,也可在應用程式中設定物件的 URL 屬性。

不論 Proxy 使用哪一個 URL,對於 Web 服務而言,都必須是遵守符合加入 Web 參考時所使用之 WSDL 的 URL。

或者在加入 Web 參考時,可使用 Visual Studio 建立 Proxy 類別所使用的類似工具 (Web 服務描述語言工具),產生 Proxy 類別。當您無法從安裝 Visual Studio 的電腦存取 Web 服務時就必須如此進行,例如當 Web 服務位於除非執行階段否則用戶端無法存取的網路上時。然後,將工具所產生的檔案手動加入至應用程式專案。如需詳細資訊,請參閱 HOW TO:產生 Web 服務 Proxy

請參閱

概念

建置 XML Web Service 用戶端

XML Web Service 描述

其他資源

以 Managed 程式碼存取 Web 服務