Как получить доступ к XML-веб-службам из обозревателя
Этот раздел посвящен технологии прежних версий. Веб-службы XML и клиенты веб-служб XML должны создаваться с использованием Windows Communication Foundation.
После публикации веб-службы, созданной с помощью ASP.NET, можно тестировать ее функции, используя обозреватель для вызова этой службы посредством HTTP-GET или HTTP-POST. Откройте ASMX-файл службы в браузере и перейдите по гиперссылкам к методам веб-службы или обратитесь к отдельным методам непосредственно, присоединив к URL-адресу ASMX-файла строку запроса.
Примечание |
---|
По умолчанию веб-служба, созданная с помощью ASP.NET, может поддерживать несколько протоколов, включая SOAP поверх HTTP и реализации HTTP-GET и HTTP-POST, где в ответе возвращаются данные XML, не относящиеся к SOAP. |
Тестирование веб-службы в браузере с помощью HTTP-GET
Разверните веб-службу на веб-сервере. Дополнительные сведения см. в разделе Публикация и развертывание XML-веб-службы.
Откройте веб-браузер и введите в адресной строке 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-страницу описания веб-службы.
На HTML-странице описания веб-службы отображаются все методы веб-службы, поддерживаемые конкретной веб-службой. Перейдите по ссылке к требуемому методу веб-службы, введите необходимые параметры для тестирования этого метода и просмотрите ответ в формате XML.
Непосредственное тестирование метода веб-службы в браузере с помощью HTTP-GET
Разверните веб-службу на веб-сервере. Дополнительные сведения см. в разделе Публикация и развертывание XML-веб-службы.
Откройте веб-браузер и введите в адресной строке URL-адрес метода веб-службы в следующем формате:
https://servername/vdir/webservicename.asmx/Methodname?parameter=value
Параметр Значение servername
Имя сервера, на котором развернута веб-служба.
Apppath
Имя виртуального каталога и остальная часть пути к веб-приложению.
webservicename.asmx
Имя ASMX-файла веб-службы.
Methodname
Имя открытого метода, представляемого веб-службой. Если это поле оставить пустым, отобразится страница описания веб-службы со списком всех открытых методов, доступных в ASMX-файле. (Необязательный параметр).
parameter
Соответствующее имя параметра и значение для любых параметров, необходимых для данного метода. Если это поле оставить пустым, отобразится страница описания веб-службы со списком всех открытых методов, доступных в ASMX-файле. (Необязательный параметр).
Примечание В имени метода веб-службы в этом синтаксисе учитывается регистр, а в именах сервера, проекта и веб-службы регистр не учитывается. Например, предположим, что веб-служба
StockServices
из предыдущей процедуры содержит метод веб-службы с именемGetQuote
; этот метод принимает символ акции в качестве параметра, возвращая цену в виде числа двойной точности с плавающей запятой. Для тестирования данного метода введите в адресной строке обозревателя следующий запрос HTTP-GET:http://<имя_сервера>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
Сервер отправляет ответ, содержащий XML-документ, который отображается в браузере. Для примера
GetQuote
XML-документ содержит текущую цену затребованной акции. Результат может выглядеть следующим образом:<?xml version="1.0" ?>
<double>74.5</double>
Тестирование веб-службы в браузере с помощью HTTP-POST
Разверните веб-службу на веб-сервере. Дополнительные сведения см. в разделе Публикация и развертывание 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
Создайте 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
Добавьте кнопку "Отправить", чтобы можно было передать данные назад в метод веб-службы.
Откройте веб-браузер и введите URL-адрес HTML-документа, созданного на предыдущем шаге.
Отобразится HTML-документ, созданный на предыдущем шаге.
Введите в текстовых полях соответствующие значения для метода веб-службы и нажмите кнопку Отправить.
Например, если в два текстовых поля метода веб-службы
Subtract
данного примера ввести 6 и 3, будет возвращен следующий результат:<?xml version="1.0" ?> <int xmlns="http://tempuri.org/">3</int>
См. также
Задачи
Как изучить существующие XML-веб-служб, созданные с помощью ASP.NET
Как получить доступ к XML-веб-службам из обозревателя
Основные понятия
Создание клиентов XML-веб-службы
Обнаружение веб-служб