部署一個(gè)XML Web服務(wù)包括復(fù)制.asmx文件和任何XML Web服務(wù)使用的匯編文件,而不要把Microsoft.net Framework的一部分作為Web服務(wù)器上的虛擬目錄。有關(guān)如何部署一個(gè)XML Web服務(wù)的信息,請(qǐng)參見(jiàn)"部署XML Web服務(wù)"。XML Web服務(wù)對(duì)使用發(fā)現(xiàn)機(jī)制的用戶適用。用戶可以瀏覽一個(gè)特殊的發(fā)現(xiàn)文件或Web服務(wù)器的根來(lái)定位發(fā)現(xiàn)文件。從這些文件中,他們可以判斷那些服務(wù)對(duì)他們來(lái)說(shuō)有用。
部署XML Web服務(wù)
部署一個(gè)XML Web服務(wù)包括把.asmx文件和任何XML Web服務(wù)使用的匯編文件,而不是Microsoft.NET Framework的一部分,復(fù)制到Web服務(wù)器上。
例如,假設(shè)你把一個(gè)XML Web服務(wù)命名為StockServices。為了部署XML Web服務(wù),你需要在你的Web服務(wù)器上創(chuàng)建一個(gè)虛擬目錄和把XML Web服務(wù)的.asmx文件放入這個(gè)目錄。這個(gè)虛擬目錄還應(yīng)該是一個(gè)IIS Web應(yīng)用程序,雖然它不是必需的。一個(gè)典型的部署將有下面的目錄結(jié)構(gòu):
\Inetpub
\Wwwroot
\StockServices
StockServices.asmx
\Bin
你的XML Web服務(wù)使用的匯編不是Microsoft.NET Framework一部分的。
XML Web服務(wù)發(fā)布的條目
當(dāng)你發(fā)布一個(gè)XML Web服務(wù)時(shí),下列條目用來(lái)部署一個(gè)Web服務(wù)器。
條目 描述
Web應(yīng)用程序目錄 作為你的XML Web服務(wù)的根目錄。所有的文件都存放在這個(gè)目錄中。這個(gè)目錄應(yīng)該被標(biāo)記為一個(gè)IIS Web應(yīng)用程序所用。
<MyXMLWebService>.asmx 文件 調(diào)用XML Web服務(wù)的客戶端的基本URL。這個(gè)文件可以為任何有效的文件名。
<MyXMLWebService>.disco文件 (可選的)作為XML Web服務(wù)的發(fā)現(xiàn)機(jī)制。.disco文件不會(huì)自動(dòng)地為XML Web服務(wù)創(chuàng)建。這個(gè)文件可以為任何有效的文件名。
Web.config文件 (可選擇的)如果你需要覆蓋默認(rèn)配置設(shè)置,你可以包含一個(gè)web.config文件。XML Web服務(wù)使用這個(gè)配置文件來(lái)允許系統(tǒng)的定制和可擴(kuò)展性。例如,如果在系統(tǒng)中你的XML Web服務(wù)需要驗(yàn)證而其他的Web應(yīng)用程序不需要的話,你可以提供一個(gè)該XML Web服務(wù)特定的web.config文件。
\Bin目錄 包含用于這個(gè)XML Web服務(wù)的二進(jìn)制文件。如果你的XML Web服務(wù)類和.asmx文件不在同一個(gè)目錄下,那么包含類的部件必須在\Bin目錄中。
發(fā)現(xiàn)一個(gè)XML Web服務(wù)
XML Web服務(wù)發(fā)現(xiàn)是定位和詢問(wèn)XML Web服務(wù)描述的過(guò)程,這是訪問(wèn)一個(gè)XML Web服務(wù)的預(yù)備步驟。通過(guò)發(fā)現(xiàn)過(guò)程,XML Web服務(wù)客戶端可以在設(shè)計(jì)時(shí)得知一個(gè)XML Web服務(wù)存在,它能做什么以及如何適當(dāng)?shù)呐c之交互。
可以在XML Web服務(wù)發(fā)布一個(gè).disco文件時(shí)編程發(fā)現(xiàn),.disco是一個(gè)包含與其它發(fā)現(xiàn)文檔、XSD模式和服務(wù)描述連接的XML文檔。換句話說(shuō),使用ASP.NET創(chuàng)建的XML Web服務(wù)自動(dòng)地有提供一個(gè)產(chǎn)生發(fā)現(xiàn)文檔的能力。當(dāng)使用帶有?DISCO的URL訪問(wèn)時(shí),一個(gè)發(fā)現(xiàn)文檔自動(dòng)地為XML Web服務(wù)生成。例如,如果到一個(gè)XML Web服務(wù)的URL是www.contoso.com/getquote.asmx,然后自動(dòng)以www.contoso.com/getquote.asmx?DISCO生成一個(gè)發(fā)現(xiàn)文檔。
為了使能發(fā)現(xiàn)一個(gè)XML Web服務(wù):
使用你喜歡的編輯器創(chuàng)建一個(gè)XML文檔,把標(biāo)記<?xml version="1.0"?>添加到第一行。
在這個(gè)XML文檔內(nèi)添加一個(gè)<discovery>元素,如:
<disco:discovery xmlns:disco="http://schemas.xmlsoap.org/disco/">
</disco:discovery>
在<discovery>元素內(nèi),添加到服務(wù)描述、XSD模式和其他發(fā)現(xiàn)文檔的引用。
部署XML Web服務(wù)
部署一個(gè)XML Web服務(wù)包括把.asmx文件和任何XML Web服務(wù)使用的匯編文件,而不是Microsoft.NET Framework的一部分,復(fù)制到Web服務(wù)器上。
例如,假設(shè)你把一個(gè)XML Web服務(wù)命名為StockServices。為了部署XML Web服務(wù),你需要在你的Web服務(wù)器上創(chuàng)建一個(gè)虛擬目錄和把XML Web服務(wù)的.asmx文件放入這個(gè)目錄。這個(gè)虛擬目錄還應(yīng)該是一個(gè)IIS Web應(yīng)用程序,雖然它不是必需的。一個(gè)典型的部署將有下面的目錄結(jié)構(gòu):
\Inetpub
\Wwwroot
\StockServices
StockServices.asmx
\Bin
你的XML Web服務(wù)使用的匯編不是Microsoft.NET Framework一部分的。
XML Web服務(wù)發(fā)布的條目
當(dāng)你發(fā)布一個(gè)XML Web服務(wù)時(shí),下列條目用來(lái)部署一個(gè)Web服務(wù)器。
條目 描述
Web應(yīng)用程序目錄 作為你的XML Web服務(wù)的根目錄。所有的文件都存放在這個(gè)目錄中。這個(gè)目錄應(yīng)該被標(biāo)記為一個(gè)IIS Web應(yīng)用程序所用。
<MyXMLWebService>.asmx 文件 調(diào)用XML Web服務(wù)的客戶端的基本URL。這個(gè)文件可以為任何有效的文件名。
<MyXMLWebService>.disco文件 (可選的)作為XML Web服務(wù)的發(fā)現(xiàn)機(jī)制。.disco文件不會(huì)自動(dòng)地為XML Web服務(wù)創(chuàng)建。這個(gè)文件可以為任何有效的文件名。
Web.config文件 (可選擇的)如果你需要覆蓋默認(rèn)配置設(shè)置,你可以包含一個(gè)web.config文件。XML Web服務(wù)使用這個(gè)配置文件來(lái)允許系統(tǒng)的定制和可擴(kuò)展性。例如,如果在系統(tǒng)中你的XML Web服務(wù)需要驗(yàn)證而其他的Web應(yīng)用程序不需要的話,你可以提供一個(gè)該XML Web服務(wù)特定的web.config文件。
\Bin目錄 包含用于這個(gè)XML Web服務(wù)的二進(jìn)制文件。如果你的XML Web服務(wù)類和.asmx文件不在同一個(gè)目錄下,那么包含類的部件必須在\Bin目錄中。
發(fā)現(xiàn)一個(gè)XML Web服務(wù)
XML Web服務(wù)發(fā)現(xiàn)是定位和詢問(wèn)XML Web服務(wù)描述的過(guò)程,這是訪問(wèn)一個(gè)XML Web服務(wù)的預(yù)備步驟。通過(guò)發(fā)現(xiàn)過(guò)程,XML Web服務(wù)客戶端可以在設(shè)計(jì)時(shí)得知一個(gè)XML Web服務(wù)存在,它能做什么以及如何適當(dāng)?shù)呐c之交互。
可以在XML Web服務(wù)發(fā)布一個(gè).disco文件時(shí)編程發(fā)現(xiàn),.disco是一個(gè)包含與其它發(fā)現(xiàn)文檔、XSD模式和服務(wù)描述連接的XML文檔。換句話說(shuō),使用ASP.NET創(chuàng)建的XML Web服務(wù)自動(dòng)地有提供一個(gè)產(chǎn)生發(fā)現(xiàn)文檔的能力。當(dāng)使用帶有?DISCO的URL訪問(wèn)時(shí),一個(gè)發(fā)現(xiàn)文檔自動(dòng)地為XML Web服務(wù)生成。例如,如果到一個(gè)XML Web服務(wù)的URL是www.contoso.com/getquote.asmx,然后自動(dòng)以www.contoso.com/getquote.asmx?DISCO生成一個(gè)發(fā)現(xiàn)文檔。
為了使能發(fā)現(xiàn)一個(gè)XML Web服務(wù):
使用你喜歡的編輯器創(chuàng)建一個(gè)XML文檔,把標(biāo)記<?xml version="1.0"?>添加到第一行。
在這個(gè)XML文檔內(nèi)添加一個(gè)<discovery>元素,如:
<disco:discovery xmlns:disco="http://schemas.xmlsoap.org/disco/">
</disco:discovery>
在<discovery>元素內(nèi),添加到服務(wù)描述、XSD模式和其他發(fā)現(xiàn)文檔的引用。