HOW TO:啟用 XML Web Service 的探索
Web 服務可以透過下列方式發行至潛在用戶端:
使用具有 .disco 副檔名的 XML 探索檔。
使用指定 .vsdisco 副檔名的 URL。
以 ?DISCO 查詢字串使用 Web 服務。
本主題會說明如何設定前兩個探索機制。本主題不會示範如何以 ?DISCO 查詢字串啟用 Web 服務要求,因為這個方法已經自動提供。如需這些選項的說明,請參閱 XML Web Service 發行和部署。
若要發行 Web 服務的靜態探索文件
使用您最愛的編輯器建立 XML 文件,並將 ?xml version="1.0" ? 項目加入至第一行。
在 XML 文件中,加入 discovery 項目,例如:
<disco:discovery xmlns:disco="https://schemas.xmlsoap.org/disco/"> </disco:discovery>
在 discovery 項目中,加入服務描述、XSD 結構描述和其他探索文件的參考。
您可以依照需要加入多個要公開的參考。服務描述參考是透過加入 contractRef 項目與
https://schemas.xmlsoap.org/disco/scl/
XML 命名空間,在探索文件中指定。同樣的,其他探索文件和 XSD 結構描述的參考是分別透過 discoveryRef 和 schemaRef XML 項目指定。對於 XSD 結構描述參考,必須指定 XML 命名空間https://schemas.xmlsoap.org/disco/schema
。對於所有三種類型的參考文件,請使用 ref 屬性指定文件位置。下列程式碼範例有探索文件、服務描述和 XSD 結構描述的參考。<?xml version="1.0"?> <discovery xmlns="https://schemas.xmlsoap.org/disco/"> <discoveryRef ref="/Folder/Default.disco"/> <contractRef ref="http://MyWebServer/UserName.asmx?WSDL" docRef="Service.htm" xmlns="https://schemas.xmlsoap.org/disco/scl/"/> <schemaRef ref="Schema.xsd" xmlns="https://schemas.xmlsoap.org/disco/schema/"/> </discovery>
參考可以相對於探索文件所在的目錄 (如 discoveryRef 項目所示),或相對於 URI (如 contractRef 項目所示)。
將探索文件複製到 Web 伺服器上的虛擬目錄,將它部署至 Web 伺服器。
(選擇性) 如果要讓潛在消費者藉由指定 IIS 應用程式 (而不需要指定文件) 巡覽至 URL,您可以在 IIS 應用程式預設頁面中加入連結。好處是潛在消費者不需要知道任何探索文件的名稱。然後在探索處理序期間,使用者可以提供如下的 URL:
http://MyWebServer/MyWebApplication
如果 Web 應用程式的預設頁面是 HTML 頁面,您可以在 Web 伺服器預設網頁的 head 項目中加入探索文件的連結。例如,如果將探索文件命名為
MyWebService.disco
並放在預設頁面所在的目錄中,您必須將下列項目放在預設網頁中:<HEAD> <link type='text/xml' rel='alternate' href='MyWebService.disco'/> </HEAD>
如果 Web 應用程式的預設頁面是 XML 文件,您可以在 Web 伺服器預設網頁的 head 項目中加入探索文件的連結。例如,如果將探索文件命名為
MyWebService.disco
並放在預設頁面所在的目錄中,您必須將下列項目放在預設網頁上方:<?xml-stylesheet type="text/xml" alternate="yes" href="MyWebService.disco" ?>
若要啟用 Web 服務的動態探索
若要開啟 Web 伺服器的動態探索,請加入下列 <add> 項目來修改 machine.config 檔案。忽略下列範例中的分行符號,因為 type 屬性必須在同一行。
<configuration> <system.web> <httpHandlers> <add verb="*" path="*.vsdisco" type="System.Web.Services.Discovery.DiscoveryRequestHandler, System.Web.Services, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/> </httpHandlers> </system.web> </configuration>
注意:
開啟動態探索時,在 Web 伺服器上,所要求 URL 下的所有 Web 服務和探索文件都是可搜尋的。因此,開啟動態探索時必須小心,因為如果 Web 伺服器所在的網路未使用防火牆和其他安全性功能,可能會公開敏感性資料。
請參閱
概念
XML Web Service 發行和部署
使用 ASP.NET 建立之 XML Web Service 的組態選項
其他資源
Copyright © 2007 by Microsoft Corporation. All rights reserved.