Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Связь SOAP

Связь SOAP

Полный анализ возможностей SOAP выходит за рамки этого текста, однако следует понимать, что SOAP нельзя назвать специальным протоколом, который может использоваться наряду с другими существующими протоколами Интернет (HTTP, SMTP и др.). Общая задача SOAP, тем не менее, остается той же: обеспечить независимый от языка и платформы механизм вызова методов, использующих составные типы. Для этого SOAP преобразует каждый метод в сообщение SOAP.

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

‹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:Header›
  ‹!-- Необязательная информация заголовка --›
 ‹/soap:Header›
 ‹soap:Body›
 ‹!-- Информация вызова метода --›
 ‹/soap:Body›
‹/soap:Envelope›

Просмотр сообщения SOAP

Хотя при создании Web-сервиcов XML в рамках платформы .NET от вас не требуется понимания всех деталей SOAP, вы можете увидеть формат сообщения SOAP дня каждого доступного Web-метода с помощью автоматически генерируемой страницы тестирования. Например, если щелкнуть на ссылке для метода Add() нашего CalculatorWebService, вы увидите следующий запрос SOAP 1.1.

‹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›
  ‹Add xmlns="http://www.IntertechTraining.com"›
   ‹x›int‹/x›
   ‹y›int‹/y›
  ‹/Add›
 ‹/soap:Body›
‹/soap:Envelope›

Соответствующий ответ SOAP 1.1 выглядит так.

‹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›
  ‹AddResponse xmlns="http://www.IntertechTraining.com "›
   ‹AddResultint‹/AddResult›
  ‹/AddResponse›
 ‹/soap:Body›
‹/soap:Envelope›

Оглавление книги

Оглавление статьи/книги

Генерация: 1.241. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз