HOW TO:從瀏覽器存取 XML Web Service
本主題專門說明舊有技術。 應該使用下列建立 XML Web Service 及 XML Web Service 用戶端: Windows Communication Foundation.
在發行使用 ASP.NET 建立的 Web 服務之後,您可以使用瀏覽器,透過 HTTP-GET 或 HTTP-POST 呼叫測試其功能。此外,您也可以在瀏覽器中存取其 .asmx 檔案,然後按一下 Web 服務方法超連結,或是直接將查詢字串附加到 .asmx URL 以存取個別方法。
注意: |
---|
根據預設,使用 ASP.NET 建立的 Web 服務可以支援多種通訊協定 (包括 SOAP over HTTP) 以及 HTTP-GET 和 HTTP-POST 實作 (會在回應中傳回非 SOAP XML)。 |
若要在瀏覽器中使用 HTTP-GET 來測試 Web 服務
將 Web 服務部署至 Web 伺服器。如需詳細資訊,請參閱 XML Web Service 發行和部署。
存取 Web 瀏覽器,然後使用下列格式,在網址列中輸入 Web 服務的 URL:
https://servername/apppath/webservicename.asmx
路徑部分 值 servername
部署 Web 服務所在之伺服器的名稱。
Apppath
虛擬目錄的名稱和 Web 應用程式路徑的其他部分。
webservicename.asmx
Web 服務 .asmx 檔案的名稱。
例如,假設您已發行名為
StockServices
的 Web 服務。發行時,這項服務的基底 URL 為 http://<servername>/apppath/StockServices.asmx。您可以在瀏覽器的網址列中輸入下列 HTTP-GET 要求,以測試這項服務:http://<servername>/apppath/StockServices.asmx
伺服器會顯示 Web 服務的 HTML 描述網頁,以回應這個要求。
Web 服務的 HTML 描述網頁會讓您看見特定 Web 服務支援的所有 Web 服務方法。您可以連結至想要的 Web 服務方法並輸入必要的參數,來測試方法和查看 XML 回應。
若要在瀏覽器中使用 HTTP-GET 直接測試 Web 服務方法
將 Web 服務部署至 Web 伺服器。如需詳細資訊,請參閱 XML Web Service 發行和部署。
存取 Web 瀏覽器,然後使用下列格式,在網址列中輸入 Web 服務方法的 URL:
https://servername/vdir/webservicename.asmx/Methodname?parameter=value
參數 值 servername
部署 Web 服務所在之伺服器的名稱。
Apppath
虛擬目錄的名稱和 Web 應用程式路徑的其他部分。
webservicename.asmx
Web 服務 .asmx 檔案的名稱。
Methodname
Web 服務所公開之公用方法的名稱。如果保留空白,則會在顯示 Web 服務的描述網頁時,列出 .asmx 檔案中每一個可用的公用方法。(選擇項)
parameter
方法所需的適當參數名稱和任何參數值。如果保留空白,則會在顯示 Web 服務的描述網頁時,列出 .asmx 檔案中每一個可用的公用方法。(選擇項)
注意: 這個語法中的 Web 服務方法名稱會區分大小寫,但是伺服器、專案和 Web 服務名稱則不分大小寫。 例如,假設前面程序中的
StockServices
Web 服務包含名為GetQuote
的 Web 服務方法;Web 服務方法會接受股票代號做為參數,並傳回雙精度浮點數的價格。請在瀏覽器的網址列中輸入下列 HTTP-GET 要求,以測試這個方法:http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
伺服器會傳送包含 XML 文件的回應,而這份文件將顯示在瀏覽器中。如果是
GetQuote
範例,XML 會包含您所要求股票的目前價格。結果可能如下所示:<?xml version="1.0" ?>
<double>74.5</double>
若要在瀏覽器中使用 HTTP-POST 來測試 Web 服務
將 Web 服務部署至 Web 伺服器。如需詳細資訊,請參閱 XML Web Service 發行和部署。這個程序使用下列 Web 服務做為範例,這個服務已部署成可從網站 https://www.contoso.com 的虛擬根目錄存取的 math.asmx 檔案:
<%@ WebService Language="C#" Class="Math" %> using System.Web.Services; public class Math : WebService { [ WebMethod ] public int Add(int num1, int num2) { return num1+num2; } [ WebMethod ] public int Subtract(int num1, int num2) { return num1-num2; } }
<%@ WebService Language="VB" Class="Math" %> Imports System.Web.Services Public Class Math Inherits WebService <WebMethod> _ Public Function Add(num1 As Integer, num2 As Integer) As Integer Return num1 + num2 End Function <WebMethod> _ Public Function Subtract(num1 As Integer, num2 As Integer) As Integer Return num1 - num2 End Function End Class
建立含有表單的 HTML 網頁,而這個表單將其 method 屬性設定為 POST。請使用下列格式:
<form method=POST action='https://www.contoso.com/math.asmx/Subtract'> <input type="text" size="5" name='num1'\"></td> - <input type="text" size="5" name='num2'\"></td> = <input type=submit value="Subtract"> </td> </form>
參數 值 method
POST。如果您想要使用 HTTP-POST 測試 Web 服務,請使用 POST。
action
Web 服務方法的 URL。在前面範例中,math.asmx 是 Web 服務,而
Subtract
則是 Web 服務方法。type="text"
針對 Web 服務方法的每個參數,建立 input 標記,並將其 type 屬性設定為 "text"。這會讓您在文字輸入控制項中輸入參數值。
name='num1'
Web 服務方法參數的名稱。在表單上新增和 Web 服務方法中具有的參數數目一樣多的文字輸入控制項。例如,如果 Web 服務方法有三個參數,則需要三個各自將其 name 屬性設定為參數名稱的文字輸入控制項。
type=submit
新增送出按鈕,以便用來將資料公佈回 Web 服務方法。
存取 Web 瀏覽器,然後輸入您在上個步驟中建立之 HTML 文件的 URL。
隨即會顯示上個步驟中建立的 HTML 文件。
在文字方塊中輸入 Web 服務方法的適當值,然後按一下 [submit] 按鈕。
例如,如果您輸入 6,然後在範例的
Subtract
Web 服務方法的兩個文字方塊中輸入 3,則會傳回下列結果:<?xml version="1.0" ?> <int xmlns="http://tempuri.org/">3</int>
另請參閱
工作
HOW TO:瀏覽使用 ASP.NET 建立的現有 XML Web Service
HOW TO:從瀏覽器存取 XML Web Service
概念
建置 XML Web Service 用戶端
Web 服務探索