5. 選擇
Applications => Enterprise Applications,以返回應用程序列表,並啟動此應用程序。圖 11 顯示了所安裝的示例 SCA 應用程序。
圖 11. 安裝在 WebSphere Process Server 中的示例應用程序
|
|
Microsoft .NET 的設置與其他環境的設置略微不同。要發現來自 Microsoft .NET 的服務,必須在 Microsoft .NET 環境中啟用動態服務發現(Dynamic Service Discovery,DISCO)。首先,安裝 Microsoft IIS,然後完成以下所述操作,以配置計算機 3。
1. 打開命令窗口,並將目錄更改為 <installation_drive >\WINDOWS\Microsoft.NET\Framework\<version >。
2. 鍵入
aspnet_regiis.exe -i。控制台將顯示消息
Start installing ASP.NET。
3. 過程完成後,控制台將顯示消息
Finished installing ASP.NET。
4. 如果使用的是 Microsoft Windows Server 2003,請將 ASP.NET 狀態設置為
allowed。為此,請打開 IIS Manager,選擇 Web Service Extension 文件夾並將 ASP.NET 的狀態設置為
allowed。
.vsdisco 就是啟用 Web 服務動態發現的 DISCO 文件。如果客戶端計算機請求 XML Web 服務動態發現文件 (.vsdisco),Microsoft .NET Framework 將分析包含文件的文件夾,然後生成作為響應的 XML 文件。響應文件包含對該文件夾及其子文件夾中的所有 Web 服務的引用。
關於安全性的說明:啟用動態發現時,Web 服務器上所請求 URL 下的所有 Web 服務和發現文檔都可以被發現。因此,在啟用動態發現時,必須非常謹慎,因為如果 Web 服務所在的網絡不是具有防火牆的安全網絡,則可能會意外地公開敏感數據。有關使用 .vsdisco 文件時的安全注意事項,請參見參考資料。
要配置動態發現,需要兩個步驟:
1. 向網站的根目錄添加 web.config 文件。清單 1 顯示了此文件內容的一個示例。
|
<!– web.config –> <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>
|
2.
3. 在包含 Web 服務的任意目錄中添加一個動態發現文件。清單 2 顯示了此文件內容的一個示例。
清單 2. 動態發現文件
|
<?xml version=”1.0″ encoding=”utf-8″ ?> <dynamicDiscovery> <add xmlns=”urn:schemas-dynamicdiscovery:disco.2000-03-7″/> </dynamicDiscovery>
|
圖 2 中給出了一個示例目錄結構。左側紅色的矩形突出顯示了包含 Web 服務的虛擬目錄。右側紅色的矩形突出顯示了添加到目錄中的 web.config 和 webservice.vsdisco 文件。
圖 12. IIS 服務的目錄結構
虛擬目錄 webserviceroot 的物理結構如圖 13 中所示。此結構中有兩個動態發現文件:其中一個是位於根目錄的 webservice.vsdisco 文件,另一個是位於 innerinner 子目錄中的 innerservice.vsdisco 文件。
圖 13. 虛擬目錄 webserviceroot 的結構
客戶端請求 webservice.vsdisco 文件時,將生成 XML 響應。清單 3 顯示了其結果。請注意,結果中包含三個對 XML Web 服務的引用和一個對動態發現文件的引用。
Web 服務 helloservice 和 helloworld 都位於根目錄 (webserviceroot) 中。Web 服務 innerservice 位於第一級子目錄中。這些 Web 服務都將被發現。
不過,Web 服務 SecondInnerService(位於第二級子目錄 innerinner 中)和 ThirdInnerService(位於第三級子目錄 thirdinner 中)將不會直接被發現。取而代之,將返回對動態發現文件 innerservice.vsdisco 的引用。動態發現在根目錄及其子目錄中工作。即,其工作子目錄深度為一。對於更大的深度,需要更多的 .vsdisco 文件。
發現這兩個 web 服務的工作交由 innerservice.vsdisco 文件負責,如清單 3 中所示。
清單 3. innerservice.vsdisco 文件
|
<?xml version=”1.0″ encoding=”utf-8″ ?> <discovery> <add xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”http://schemas.xmlsoap.org/disco/”> <contractRef>
docRef=”http://127.0.0.1/webservice/helloservice.asmx” xmlns=”http://schemas.xmlsoap.org/disco/scl/”/> <contractRef>
docRef=”http://127.0.0.1/webservice/helloworld.asmx” xmlns=”http://schemas.xmlsoap.org/disco/scl/”/> <contractRef>
docRef=”http://127.0.0.1/webservice/innerservice/innerservice.asmx” xmlns=”http://schemas.xmlsoap.org/disco/scl/”/> <discoveryRef>
innerservice.vsdisco”/> </discovery>
|
對於 SSL 安全配置,我們將使用服務器身份驗證和客戶端身份驗證。完成以下步驟,以配置 IIS 和啟用 SSL 安全性。
1. 右鍵單擊
Default Web Site => Properties。在
Directory Security 選項卡的 Secure Communications 部分中,單擊
Server Certificate。創建新證書,填寫相關材料,然後將證書保存到本地磁盤上。服務器將證書請求提交到證書頒發機構(Certificate Authority,CA)。CA 處理請求後,將會向您頒發證書。
以下文章點擊率最高
Loading…




