Share via


如何:从浏览器访问 XML Web services

本主题专门介绍一项旧有技术。现在应通过使用以下链接来创建 XML Web 服务和 XML Web 服务客户端: Windows Communication Foundation.

发布了使用 ASP.NET 创建的 Web 服务之后,可以使用浏览器通过 HTTP-GET 或 HTTP-POST 调用 Web 服务,从而测试其功能。在浏览器中访问其 .asmx 文件,然后单击指向 Web 服务方法的超链接,或通过向 .asmx URL 追加查询字符串直接访问各个方法。

45fez2a8.note(zh-cn,VS.100).gif注意:
默认情况下,使用 ASP.NET 创建的 Web 服务能够支持多个协议,包括 SOAP over HTTP 以及 HTTP-GET 和 HTTP-POST 的实现(在响应中返回非 SOAP XML)。

使用 HTTP-GET 在浏览器中测试 Web 服务

  1. 将 Web 服务部署到 Web 服务器。有关更多信息,请参见 XML Web services 发布和部署

  2. 访问 Web 浏览器,并使用以下格式在地址栏中输入 Web 服务的 URL:

    https://servername/apppath/webservicename.asmx
    

    路径部分

    服务器名称

    在其上部署 Web 服务的服务器的名称。

    应用程序路径

    虚拟目录的名称以及 Web 应用程序路径的其余部分。

    Web 服务名称.asmx

    Web 服务 .asmx 文件的名称。

    例如,假设您已发布了一项名为 StockServices 的 Web 服务。发布时,此服务的基 URL 为 http://<服务器名称>/apppath/StockServices.asmx。通过在浏览器的地址栏中输入此 HTTP-GET 请求,可以测试此服务:

    http://<servername>/apppath/StockServices.asmx
    

    作为对此请求的响应,服务器将显示 Web 服务的 HTML 说明页。

  3. Web 服务的 HTML 说明页显示特定 Web 服务支持的所有 Web 服务方法。链接到所需的 Web 服务方法并输入必需的参数,以测试该方法并查看 XML 响应。

使用 HTTP-GET 在浏览器中直接测试 Web 服务方法

  1. 将 Web 服务部署到 Web 服务器。有关更多信息,请参见 XML Web services 发布和部署

  2. 访问 Web 浏览器,并使用以下格式在地址栏中输入 Web 服务方法的 URL:

    https://servername/vdir/webservicename.asmx/Methodname?parameter=value
    

    参数

    服务器名称

    在其上部署 Web 服务的服务器的名称。

    应用程序路径

    虚拟目录的名称以及 Web 应用程序路径的其余部分。

    Web 服务名称.asmx

    Web 服务 .asmx 文件的名称。

    方法名称

    Web 服务公开的公共方法的名称。如果留为空白,则显示 Web 服务的说明页,其中会列出 .asmx 文件中提供的每个公共方法。(可选)

    参数

    方法所需要的任何参数的相应参数名称和值。如果留为空白,则显示 Web 服务的说明页,其中会列出 .asmx 文件中提供的每个公共方法。(可选)

    45fez2a8.note(zh-cn,VS.100).gif注意:
    此语法中的 Web 服务方法名区分大小写,但服务器、项目和 Web 服务名称不区分大小写。

    例如,假设前一过程中的 StockServices Web 服务包含一个名为 GetQuote 的 Web 服务方法,该 Web 服务方法接受以股票符号作为参数,并以双精度浮点数的形式返回价格。在浏览器的地址栏中输入以下 HTTP-GET 请求,以测试此方法:

    http://<服务器名称>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT

  3. 服务器发送包含 XML 文档的响应,将在浏览器中显示该文档。对于 GetQuote 示例,XML 具有您请求的股票的当前价格。结果可能类似于:

    <?xml version="1.0" ?>

    <double>74.5</double>

使用 HTTP-POST 在浏览器中测试 Web 服务

  1. 将 Web 服务部署到 Web 服务器。有关更多信息,请参见 XML Web services 发布和部署。此过程使用以下 Web 服务作为一个示例,该 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
    
  2. 使用将其 method 特性设置为 POST 的窗体创建一个 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>
    

    参数

    方法

    POST。如果要使用 HTTP-POST 测试 Web 服务,请使用 POST。

    操作

    Web 服务方法的 URL。在上面的示例中,math.asmx 是 Web 服务,Subtract 是 Web 服务方法。

    type="text"

    对于 Web 服务方法的每个参数,创建 type 特性设置为 "text"input 标记。这样,您便可以在文本输入控件中键入参数值。

    name='num1'

    Web 服务方法参数的名称。在窗体中添加与 Web 服务方法中的参数数量相同的文本输入控件。例如,如果 Web 服务方法有三个参数,则需要三个文本输入控件,并且每个控件将其 name 特性设置为对应参数的名称。

    type=submit

    添加一个提交按钮,以便将数据回发至 Web 服务方法。

  3. 访问 Web 浏览器,并输入在上一步中创建的 HTML 文档的 URL。

    此时将显示在上一步中创建的 HTML 文档。

  4. 在本文框中输入 Web 服务方法的相应值,然后单击**“submit”(提交)**按钮。

    例如,如果在该示例的 Subtract Web 服务方法的两个文本框中分别输入 63,则会返回以下结果:

    <?xml version="1.0" ?> 
    <int xmlns="http://tempuri.org/">3</int>
    

另请参见

任务

如何:浏览现有的使用 ASP.NET 创建的 XML Web services
如何:从浏览器访问 XML Web services

概念

生成 XML Web services 客户端
Web 服务发现

其他资源

创建 XML Web services 客户端