Accessing XML Web Services from a Browser
After you publish an XML Web service created using ASP.NET, you can test its functionality by using a browser to call one of its XML Web service methods. To do so, deploy your XML Web service to a Web server and then link to the XML Web service from a browser. Once the .asmx file is deployed to a Web server, you can test your XML Web service in a browser using either HTTP-GET or HTTP-POST.
**Note **By default, an XML Web service created using ASP.NET is able to support multiple protocols, including HTTP-GET, HTTP-POST, and HTTP-SOAP.
To test an XML Web service in a browser using HTTP-GET
Deploy your XML Web service to a Web server. For more information, see XML Web Service Publishing and Deployment.
Access a Web browser and enter the URL for your XML Web service in the address bar, using the following format:
https://servername/apppath/webservicename.asmx
Parameter Value servername The name of the server on which your XML Web service was deployed. Apppath The name of your virtual directory and the rest of the Web application path. webservicename.asmx The name of the XML Web service .asmx file. The XML Web service's HTML description file is displayed.
The XML Web service's HTML description page shows you all the XML Web service methods supported by a particular XML Web service. Link to the desired XML Web service method and enter the necessary parameters.
For example, suppose you have published an XML Web service named
StockServices
.StockServices
contains an XML Web service method calledGetQuote
, which requires a stock symbol as a parameter. When published, the base URL for this service is http://<servername>/apppath/StockServices.asmx. You could test this service by entering this HTTP-GET request in the browser's URL line:http://<servername>/apppath/StockServices.asmx
The server, in response to this request, displays the XML Web service's HTML description page. This page lists each method in the XML Web service. It also provides a means for you to test the methods and see their XML responses.
You could also be more specific, entering the exact method you want to test. For example, you could enter the following to test your service's
GetQuote
method:http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
The server shows an XML response that gives the current price of the stock you request. If the return data type for
GetQuote
is a double-precision floating-point number, the result might look like the following:<?xml version="1.0" ?> <double>74.5</double>
Alternative method for testing an XML Web service in a browser using HTTP-GET
Deploy your XML Web service to a Web server. For more information, see XML Web Service Publishing and Deployment.
Access a Web browser and enter the URL for your XML Web service in the address bar, using this format:
https://servername/vdir/webservicename.asmx/Methodname?parameter=value
Parameter Value servername The name of the server on which your XML Web service is deployed. Apppath The name of your virtual directory and the rest of the Web application path. webservicename.asmx The name of the XML Web service .asmx file. Methodname The name of a public method that is exposed by your XML Web service. If left blank, the XML Web service's description page is shown, listing each public method available in the .asmx file. (Optional) parameter The appropriate parameter name and value for any parameters required by your method. If left blank, the XML Web service's description page is shown, listing each public method available in the .asmx file. (Optional) Note The XML Web service method name in this syntax is case sensitive, but the server, project, and XML Web service names are not.
For example, suppose you have published an XML Web service named StockServices
. StockServices
contains an XML Web service method called GetQuote
, and the XML Web service method accepts a stock symbol as a parameter, returning the price as a double-precision floating-point number. When published, the base URL for this service is http://<servername>/apppath/StockServices.asmx. You can test this service by entering the following HTTP-GET request in the browser's address field:
http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
The server shows an XML response with the current price of the stock you request. If the return data type for GetQuote
is a double-precision floating-point number, the result might look like the following:
<?xml version="1.0" ?>
<double>74.5</double>
To test an XML Web service in a browser using HTTP-POST
In order to test an XML Web service using HTTP-POST, you need to create an HTML page with a form, which has its method attribute set to POST. The following steps show you how to create an HTTP-POST client for the following XML Web service.
<%@ 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
Deploy your XML Web service to a Web server. For more information, see XML Web Service Publishing and Deployment.
Create an HTML document with a form, using the following format:
<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>
Parameter Value method POST. If you want to test your XML Web service using HTTP-POST, use POST. action URL to the XML Web service method. In the previous example, math.asmx is the XML Web service and Subtract
is the XML Web service method.type="text" For each parameter of the XML Web service method, create input tags with the type attribute set to "text". This allows you to type a parameter value in the text input control. name='num1' The name of the XML Web service method parameter. Add as many text input controls on the form as there are parameters in the XML Web service method. For instance, if an XML Web service method has three parameters, three text input controls are needed that each have their name attribute set to the name of the parameter. type=submit Add a submit button so you can post the data back to the XML Web service method. Access a Web browser and enter the URL for the HTML document you created in the previous step.
The HTML document created in the previous step is displayed.
Enter the appropriate values for the XML Web service method in the text boxes and click the submit button.
For example, if you entered 6 and then 3 into the two text boxes for the
Subtract
XML Web service method above, the following result is returned:<?xml version="1.0" ?> <int xmlns="http://tempuri.org/">3</int>
See Also
Building XML Web Service Clients | Discovering XML Web Services | Creating Clients for XML Web Services | Exploring Existing XML Web Services Created Using ASP.NET | Accessing XML Web Services from a Browser