從瀏覽器存取 XML Web Service
發行使用 ASP.NET 建立的 XML Web Service 後,您可以使用瀏覽器呼叫其中一個 XML Web Service 方法,測試功能是否正常。方法是將您的 XML Web Service 部署至 Web 伺服器,接著從瀏覽器連結至 XML Web Service。一旦 .asmx 檔案部署至 Web 伺服器,您就可以使用 HTTP-GET 或 HTTP-POST 在瀏覽器上測試 XML Web Service。
**注意 **根據預設,使用 ASP.NET 建立的 XML Web Service 可支援多重通訊協定,包括 HTTP-GET、HTTP-POST 和 HTTP-SOAP。
若要使用 HTTP-GET 在瀏覽器中測試 XML Web Service
將您的 XML Web Service 部署至 Web 伺服器。如需詳細資訊,請參閱 XML Web Service 發行和部署。
存取 Web 瀏覽器,然後在網址列輸入您 XML Web Service 的 URL,輸入格式如下:
https://servername/apppath/webservicename.asmx
參數 值 servername 指定您的 XML Web Service 所部署的伺服器名稱。 Apppath 指定您的虛擬目錄和整個 Web 應用程式路徑的名稱。 webservicename.asmx XML Web Service .asmx 檔案的名稱。 如此即顯示 XML Web Service 的 HTML 說明檔案。
XML Web Service 的 HTML 說明網頁顯示特定 XML Web Service 支援的所有 XML Web Service 方法。請您連結至想要的 XML Web Service 方法,輸入需要的參數。
例如,假設您已發行名為
StockServices
的 XML Web Service。StockServices
中包含的 XML Web Service 方法GetQuote
需要股票代碼作為參數。服務發行後,即取得其基礎 URL:http://<servername>/apppath/StockServices.asmx。您可以將這個 HTTP-GET 要求輸入瀏覽器的 URL 行來測試服務:http://<servername>/apppath/StockServices.asmx
伺服器會回應這個要求,顯示 XML Web Service 的 HTML 說明網頁。網頁中列出 XML Web Service 中的每個方法,也提供您測試方法的方式,看看它們的 XML 回應是否正常。
您也可以縮小檢查範圍,確實輸入您想要測試的方法。例如,您可以輸入下列這行,測試伺服器的
GetQuote
方法:http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
伺服器會以 XML 回應,顯示您指定的股票目前股價為何。如果
GetQuote
的傳回資料型別為雙精度浮點數,結果會顯示為:<?xml version="1.0" ?> <double>74.5</double>
使用 HTTP-GET 在瀏覽器中測試 XML Web Service 的其他方法
將您的 XML Web Service 部署至 Web 伺服器。如需詳細資訊,請參閱 XML Web Service 發行和部署。
存取 Web 瀏覽器,然後在網址列輸入您 XML Web Service 的 URL,輸入格式如下:
https://servername/vdir/webservicename.asmx/Methodname?parameter=value
參數 值 servername 指定您的 XML Web Service 所部署的伺服器名稱。 Apppath 指定您的虛擬目錄和整個 Web 應用程式路徑的名稱。 webservicename.asmx XML Web Service .asmx 檔案的名稱。 Methodname 指定您 XML Web Service 公開的公用方法名稱。如果為空白,會顯示 XML Web Service 的說明網頁,列出 .asmx 檔案中每個可用的公用方法。(選擇性) parameter 為您的方法所需參數指定適當的參數名稱和值。如果為空白,會顯示 XML Web Service 的說明網頁,列出 .asmx 檔案中每個可用的公用方法。(選擇性) **注意 **這個語法中的 XML Web Service 方法名稱區分大小寫,但是伺服器、專案和 XML Web Service 名稱大小寫皆可。
例如,假設您已發行名為 StockServices
的 XML Web Service。StockServices
中包含的 XML Web Service 方法 GetQuote
會接受股票代碼作為參數,並傳回雙精度浮點數的股價。服務發行後,即取得其基礎 URL:http://<servername>/apppath/StockServices.asmx。您可以將這個 HTTP-GET 要求輸入瀏覽器的 URL 行來測試服務:
http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
伺服器會以 XML 回應您要求的目前股價。如果 GetQuote
的傳回資料型別為雙精度浮點數,結果會顯示為:
<?xml version="1.0" ?>
<double>74.5</double>
若要使用 HTTP-POST 在瀏覽器中測試 XML Web Service
為了使用 HTTP-POST 測試 XML Web Service,您需要使用表單來建立 HTML 網頁,而表單的 method 屬性設定為 POST。下列步驟說明如何為下列XML Web Service 建立 HTTP-POST 用戶端。
<%@ 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;
}
}
[Visual Basic]
<%@ 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
將您的 XML Web Service 部署至 Web 伺服器。如需詳細資訊,請參閱 XML Web Service 發行和部署。
使用表單建立 HTML 文件,輸入格式如下:
<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 測試 XML Web Service,請指定為 POST。 action 指定連至 XML Web Service 方法的 URL。前一個範例中,math.asmx 為 XML Web Service、 Subtract
為 XML Web Service 方法。type="text" 為 XML Web Service 方法的每個參數建立 input 標記,並將型別屬性設定為 "text"。這樣您就可以將參數值輸入文字輸入控制項內。 name='num1' 指定 XML Web Service 方法的參數名稱。在表單上加入文字輸入控制項,數量等於 XML Web Service 方法的參數數目。例如,如果 XML Web Service 方法有三個參數,就需要三個文字輸入控制項,而且每個 name 屬性都必須設定為參數名稱。 type=submit 加入送出按鈕,如此即可將資料回傳給 XML Web Service 方法。 存取 Web 瀏覽器,並輸入您在前面步驟建立的 HTML 文件 URL。
即可顯示前面步驟建立的 HTML 文件。
在文字方塊中為 XML Web Service 方法輸入適當的值,然後按一下 submit 按鈕。
例如,如果您在上面的
Subtract
XML Web Service 方法,分別將 6 和 3 輸入兩個文字方塊,會傳回下列結果:<?xml version="1.0" ?> <int xmlns="http://tempuri.org/">3</int>
請參閱
建置 XML Web Service 用戶端 | 探索 XML Web Service | 建立 XML Web Service 的用戶端 | 瀏覽現有使用 ASP.NET 建立的 XML Web Service | 從瀏覽器存取 XML Web Service