How to: Access XML Web Services from a Browser
This topic is specific to a legacy technology. XML Web services and XML Web service clients should now be created using Windows Communication Foundation.
After you publish a Web service created using ASP.NET, you can test its functionality by using a browser to call it via either HTTP-GET or HTTP-POST. Access its .asmx file in a browser and then click hyperlinks to the Web service methods, or access individual methods directly by appending a query string to the .asmx URL.
Note
By default, a Web service created using ASP.NET is able to support multiple protocols, including SOAP over HTTP and implementations of HTTP-GET and HTTP-POST where non-SOAP XML is returned in the response.
To test a Web service in a browser using HTTP-GET
Deploy your 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 Web service in the address bar, using the following format:
https://servername/apppath/webservicename.asmx
Path portion Value servername
The name of the server on which your 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 Web service .asmx file.
For example, suppose you have published a Web service named
StockServices
. 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 address bar:http://<servername>/apppath/StockServices.asmx
The server, in response to this request, displays the Web service's HTML description page.
The Web service's HTML description page shows you all the Web service methods supported by a particular Web service. Link to the desired Web service method and enter the necessary parameters to test the method and see the XML response.
To directly test a Web service method in a browser using HTTP-GET
Deploy your 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 Web service method 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 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 Web service .asmx file.
Methodname
The name of a public method that is exposed by your Web service. If left blank, the 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 Web service's description page is shown, listing each public method available in the .asmx file. (Optional)
Note
The Web service method name in this syntax is case sensitive, but the server, project, and Web service names are not.
For example, suppose the
StockServices
Web service from the preceding procedure contains a Web service method calledGetQuote
; the Web service method accepts a stock symbol as a parameter, returning the price as a double-precision floating-point number. Enter the following HTTP-GET request in the browser's address bar to test this method:http://<servername>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
The server sends a response containing an XML document, which is displayed in the browser. For the
GetQuote
example, the XML has the current price of the stock you request. The result might look like the following:<?xml version="1.0" ?>
<double>74.5</double>
To test a Web service in a browser using HTTP-POST
Deploy your Web service to a Web server. For more information, see XML Web Service Publishing and Deployment. This procedure uses as an example the following Web service, deployed as a file math.asmx that is accessible from the virtual root of a site https://www.contoso.com:
<%@ 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
Create an HTML page with a form that has its method attribute set to POST. Use 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 Web service using HTTP-POST, use POST.
action
URL to the Web service method. In the previous example, math.asmx is the Web service and
Subtract
is the Web service method.type="text"
For each parameter of the 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 Web service method parameter. Add as many text input controls on the form as there are parameters in the Web service method. For instance, if a 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 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 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 example's
Subtract
Web service method, the following result is returned:<?xml version="1.0" ?> <int xmlns="http://tempuri.org/">3</int>
See Also
Tasks
How to: Explore Existing XML Web Services Created Using ASP.NET
How to: Access XML Web Services from a Browser
Concepts
Building XML Web Service Clients
Web Services Discovery