Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 344

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 338 339 340 341 342 343 < 344 > 345 346 347 348 349 350 .. 404 >> Следующая


В следующем примере демонстрируется, каким образом выглядит SOAP-сообщенне, которое посылается от клиента серверу. Клиент вызывает метод web-службы ReversestringO. В качестве аргумента этому методу передается строка Hello world!. Заметьте, что обращение к методу находится в теле SOAP-сообщения, внутри XML-элемента <soap:Body>, Само тело находится внутри конверта: <soap:Envelopes Перед самим SOAP-сообщением присутствует HTTP-заголовок, поскольку SOAP-сообщение отправляется в виде запроса HTTP POST.

Нет необходимости создавать это сообщение, поскольку оно автоматически генерируется клиентским посредником:

POST /WebServiceSample/Servicel.aamx HTTP/1,1 Host: localhost

Content-Type: text/xml; charset=utf-3 Content-Length: 508

SOAPAction: 'http://www.wrox.com/webservice/ReverseString'

<? xml version="l.0" encodina="ut?-8¦?>

csoap:Envelope xmlns:xsi=’http://www.w3.org/20Ql/XMLSchema-instance's xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap,org/soap/envelope/¦>

<воар:Body>

SOAP-сообщение

SOAP-сонворт

SOAP-aa головок

SOAP-твло
Web-службы

735

¦cReverseString xmlna= 'http: //www.wrox, com/webservice*>

<тевваде> Hello WbrJd.,</me3eege>

</ReverseStrina>

</fioap;Body>

< /soap:Envelope>

В ответ на обращение сервер отправляет назад SOAP-сообщение с результатом !dlroW olleH, который МОЖНО обнаружить В XML-элементе ReverseStringResult:

HTTP/1.1 200 ОК ¦

Content:-Type: text/xml; charaot=utf-B Contenc-Lengch: 446

<?xml version="l.0" encoding="utf-8¦?>

ooap: Envelope xmlns:xsi="http://wviw.w3.org/2001/XMLSchema-inetance’>

xmlns:xad="http://www.w3.org/2001/XMLSchema’

xmlns:soap^¦hetp://echemaa.xmlsoap.org/soap/envelope/¦>

<eoap:Bocty>

<ReverseStringResponse xmlns=*http://www.wrox.com/webaervice*> <ReverseStringResult>.'diroftr oJJeH</Rever3eStringHeault> </ReverseStringRe3ponse>

</soap:Body>

</soap:Envelope>

Спецификации SOAP поддерживаются Рабочей группой по протоколу XML компании W3C (прн необходимости обращайтесь на сайт www.w3.org/TR/soap и www.w3.org/TRy/2001/WD-soap12-20010709 за версией 1.2).

SOAP и межсетевые экраны

Системные администраторы часто задают вопрос, позволяет ли протокол SOAP преодолевать границы обеспечения безопасности межсетевой защиты или, другими словами, нарушает ли SOAP концепцию межсетевых экранов? На самом деле, в данном случае возникают те же самые проблемы, связанные с обеспечением безопасности, что и для обычных web-серверов. При работе с обычным сервером администратор межсетевого экрана открывает порт HTTP 80, позволяя серверу взаимодействовать через него с внешним миром. Пользователи, находящиеся в Интернете, получают возможность прямого доступа к этим серверам, несмотря на то, что онн находятся за стеной межсетевого экрана. Пользователь может отправить серверу HTML-файл с НТГР-запросом, а сервер — в качестве ответа — может отправить либо статическую страницу, либо страницу, которая была создана динамически посредством ASP- или CGI-сценариев. Web-службы — это всего лишь еще однн тип приложения, выполняющегося на стороне сервера, которое для взаимодействия использует HTTP, хотя вместо того, чтобы отправлять и принимать простые запросы HTTP GET и HTTP POST, оно принимает запрос HTTP POST, где содержится встроенное SOAP-сообщение, а вместо того, чтобы возвращать HTML, оно возвращает HTTP-ответ с встроенным ответным SOAP-сообще-ннем. Что касается межсетевого экрана, то все взаимодействие осуществляется посредством HTTP, следовательно, оно может проходить через порт 80.

Если web-служба работает не совсем так, как требуется, например, не обеспечивает сохранность конфиденциальной информации или нарушает нормальную работу сервера, то это приведет к возникновению определенных проблем, однако такие проблемы являются совершенно обычными для любых приложений, выполняющихся на стороне сервера, будь то традиционные web-страницы, серверные коммерческие объекты или web-службы,
7 36

Глава 25

Если системный администратор межсетевого экрана все равно опасается ненадлежащей организации безопасности web-служб, то он может воспользоваться фильтром приложений, чтобы запретить SOAP-вызовы в HTTP-запросах.

.NET Framework существенно облегчает создание и использование web-служб. Ниже перечислены четыре основные пространства имен, предназначенные для работы с web-службамн:

? Классы, описанные в пространстве имен System.web.services, используются при создании web-служб.

? При ПОМОЩИ пространства имен System.Web.Services.Description есть возможность описывать web-службы посредством WSDL.

? Прн обнаружении web-служб с использованием протокола DISCO применяются классы нз пространства имен System.Web.Services.Discovery.

? С ПОМОЩЬЮ пространства имен System.Web.Services.Protocols можно создавать SOAP-запросы и ответы.

Ниже мы рассмотрим использование всего лишь двух пространств имен — System. Meb. Services, Description U System. Web, Services. Discovery. Остальные два Пространства
Предыдущая << 1 .. 338 339 340 341 342 343 < 344 > 345 346 347 348 349 350 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.