Как получить доступ к XML-веб-службам из обозревателя

Этот раздел посвящен технологии прежних версий. Веб-службы XML и клиенты веб-служб XML должны создаваться с использованием Windows Communication Foundation.

После публикации веб-службы, созданной с помощью ASP.NET, можно тестировать ее функции, используя обозреватель для вызова этой службы посредством HTTP-GET или HTTP-POST. Откройте ASMX-файл службы в браузере и перейдите по гиперссылкам к методам веб-службы или обратитесь к отдельным методам непосредственно, присоединив к URL-адресу ASMX-файла строку запроса.

45fez2a8.note(ru-ru,VS.100).gifПримечание
По умолчанию веб-служба, созданная с помощью ASP.NET, может поддерживать несколько протоколов, включая SOAP поверх HTTP и реализации HTTP-GET и HTTP-POST, где в ответе возвращаются данные XML, не относящиеся к SOAP.

Тестирование веб-службы в браузере с помощью HTTP-GET

  1. Разверните веб-службу на веб-сервере. Дополнительные сведения см. в разделе Публикация и развертывание XML-веб-службы.

  2. Откройте веб-браузер и введите в адресной строке URL-адрес веб-службы в следующем формате:

    https://servername/apppath/webservicename.asmx
    

    Компонент пути Значение

    servername

    Имя сервера, на котором была развернута веб-служба.

    Apppath

    Имя виртуального каталога и остальная часть пути к веб-приложению.

    webservicename.asmx

    Имя ASMX-файла веб-службы.

    Например, предположим, что опубликована веб-служба с именем StockServices. После публикации эта служба получает базовый URL-адрес http://<имя_сервера>/apppath/StockServices.asmx. Чтобы проверить эту службу, можно ввести следующий запрос HTTP-GET в адресной строке веб-обозревателя:

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

    В ответ на этот запрос сервер отобразит HTML-страницу описания веб-службы.

  3. На HTML-странице описания веб-службы отображаются все методы веб-службы, поддерживаемые конкретной веб-службой. Перейдите по ссылке к требуемому методу веб-службы, введите необходимые параметры для тестирования этого метода и просмотрите ответ в формате XML.

Непосредственное тестирование метода веб-службы в браузере с помощью HTTP-GET

  1. Разверните веб-службу на веб-сервере. Дополнительные сведения см. в разделе Публикация и развертывание XML-веб-службы.

  2. Откройте веб-браузер и введите в адресной строке URL-адрес метода веб-службы в следующем формате:

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

    Параметр Значение

    servername

    Имя сервера, на котором развернута веб-служба.

    Apppath

    Имя виртуального каталога и остальная часть пути к веб-приложению.

    webservicename.asmx

    Имя ASMX-файла веб-службы.

    Methodname

    Имя открытого метода, представляемого веб-службой. Если это поле оставить пустым, отобразится страница описания веб-службы со списком всех открытых методов, доступных в ASMX-файле. (Необязательный параметр).

    parameter

    Соответствующее имя параметра и значение для любых параметров, необходимых для данного метода. Если это поле оставить пустым, отобразится страница описания веб-службы со списком всех открытых методов, доступных в ASMX-файле. (Необязательный параметр).

    45fez2a8.note(ru-ru,VS.100).gifПримечание
    В имени метода веб-службы в этом синтаксисе учитывается регистр, а в именах сервера, проекта и веб-службы регистр не учитывается.

    Например, предположим, что веб-служба StockServices из предыдущей процедуры содержит метод веб-службы с именем GetQuote; этот метод принимает символ акции в качестве параметра, возвращая цену в виде числа двойной точности с плавающей запятой. Для тестирования данного метода введите в адресной строке обозревателя следующий запрос HTTP-GET:

    http://<имя_сервера>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT

  3. Сервер отправляет ответ, содержащий XML-документ, который отображается в браузере. Для примера GetQuote XML-документ содержит текущую цену затребованной акции. Результат может выглядеть следующим образом:

    <?xml version="1.0" ?>

    <double>74.5</double>

Тестирование веб-службы в браузере с помощью HTTP-POST

  1. Разверните веб-службу на веб-сервере. Дополнительные сведения см. в разделе Публикация и развертывание XML-веб-службы. В этой процедуре в качестве примера используется следующая веб-служба, развернутая в виде файла math.asmx, который доступен из виртуального корня сайта 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
    
  2. Создайте 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>
    

    Параметр Значение

    метод

    POST. Если веб-службу требуется тестировать с помощью HTTP-POST, используйте значение POST.

    action

    URL-адрес метода веб-службы. В предыдущем примере math.asmx представляет веб-службу, а Subtract — метод веб-службы.

    type="text"

    Для каждого параметра метода веб-службы создайте теги input с атрибутом типа, имеющим значение "text". Это позволит ввести значение параметра в элемент управления для ввода текста.

    name='num1'

    Имя параметра метода веб-службы. Добавьте в форме столько элементов управления для ввода текста, сколько имеется параметров в методе веб-службы. Например, если метод веб-службы содержит три параметра, требуется три элемента управления для ввода текста, для каждого из которых атрибут name должен иметь значение имени параметра.

    type=submit

    Добавьте кнопку "Отправить", чтобы можно было передать данные назад в метод веб-службы.

  3. Откройте веб-браузер и введите URL-адрес HTML-документа, созданного на предыдущем шаге.

    Отобразится HTML-документ, созданный на предыдущем шаге.

  4. Введите в текстовых полях соответствующие значения для метода веб-службы и нажмите кнопку Отправить.

    Например, если в два текстовых поля метода веб-службы Subtract данного примера ввести 6 и 3, будет возвращен следующий результат:

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

См. также

Задачи

Как изучить существующие XML-веб-служб, созданные с помощью ASP.NET
Как получить доступ к XML-веб-службам из обозревателя

Основные понятия

Создание клиентов XML-веб-службы
Обнаружение веб-служб

Другие ресурсы

Создание клиентов для XML-веб-служб