Основы ASP.NET 2.0



         

Пользование web-службой


В Интернете существует множество готовых web-служб. Сайты http://uddi.microsoft.com, http://www.webservicelist.com/ — каталоги различных сервисов. Чтобы получить информацию от web-службы, нужно только послать HTTP-запрос, в теле которого находится SOAP-сообщение. Запрос к службе http://www.webservicex.net/globalweather.asmx на получение прогноза погоды в Москве выглядит так:

POST /globalweather.asmx HTTP/1.1 Host: www.webservicex.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.webserviceX.NET/GetWeather"

<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetWeather xmlns="http://www.webserviceX.NET"> <CityName>Moscow</CityName> <CountryName>Russian</CountryName> </GetWeather> </soap:Body> </soap:Envelope>

Заголовок запроса отличается от запросов, которые обычно посылают браузеры, прежде всего полем Content-Type — text/xml; а не text/html; В теле запроса находится SOAP-сообщение.

Сервис в ответ оправляет XML-документ:

<?xml version="1.0" encoding="utf-8" ?> <string xmlns="http://www.webserviceX.NET"> <?xml version="1.0" encoding="utf-16"?> <CurrentWeather> <Location>Moscow / Vnukovo , Russia (UUWW) 55-39N 037- 16E</Location> <Time>Aug 07, 2006 - 04:30 AM EDT / 2006.08.07 0830 UTC</Time> <Wind> from the E (080 degrees) at 11 MPH (10 KT):0</Wind> <Visibility> greater than 7 mile(s):0</Visibility> <SkyConditions> overcast</SkyConditions> <Temperature> 66 F (19 C)</Temperature> <DewPoint> 55 F (13 C)</DewPoint> <RelativeHumidity> 68%</RelativeHumidity> <Pressure> 29.85 in.




Содержание  Назад  Вперед