SOAP

Поделись знанием:
Перейти к: навигация, поиск

SOAP (от англ. Simple Object Access Protocol — простой протокол доступа к объектам; вплоть до спецификации 1.2) — протокол обмена структурированными сообщениями в распределённой вычислительной среде. Первоначально SOAP предназначался в основном для реализации удалённого вызова процедур (RPC). Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур. Официальная [www.w3.org/TR/soap/ спецификация] последней версии 1.2 протокола никак не расшифровывает название SOAP. SOAP является расширением протокола XML-RPC.

SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTP, HTTPS и др. Однако его взаимодействие с каждым из этих протоколов имеет свои особенности, которые должны быть определены отдельно. Чаще всего SOAP используется поверх HTTP.

SOAP является одним из стандартов, на которых базируются технологии веб-служб.





Структура протокола

Сообщение SOAP выглядит так:

SOAP-конверт 

Пример

Пример SOAP-запроса на сервер интернет-магазина:

 
<soap:Envelope xmlns:soap="schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     <getProductDetails xmlns="warehouse.example.com/ws">
       <productID>12345</productID>
     </getProductDetails>
   </soap:Body>
</soap:Envelope>

Пример ответа:

<soap:Envelope xmlns:soap="schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     <getProductDetailsResponse xmlns="warehouse.example.com/ws">
       <getProductDetailsResult>
         <productID>12345</productID>
         <productName>Стакан граненый</productName>
         <description>Стакан граненый. 250 мл.</description>
         <price>9.95</price>
         <currency>
             <code>840</code>
             <alpha3>USD</alpha3>
             <sign>$</sign>
             <name>US dollar</name>
             <accuracy>2</accuracy>
         </currency>
         <inStock>true</inStock>
       </getProductDetailsResult>
     </getProductDetailsResponse>
   </soap:Body>
</soap:Envelope>

Недостатки

  • Использование SOAP для передачи сообщений увеличивает их объём и снижает скорость обработки. В системах, где скорость важна, чаще используется пересылка XML-документов через HTTP напрямую, где параметры запроса передаются как обычные HTTP-параметры.
  • Хотя SOAP является стандартом, некоторые программы часто генерируют сообщения в несовместимом формате. Например, запрос, сгенерированный AXIS-клиентом, не будет понят сервером WebLogic.

См. также

Напишите отзыв о статье "SOAP"

Ссылки

  • [www.w3.org/TR/soap/ Спецификация SOAP]
  • [www.w3.org/2002/07/soap-translation/russian/part0.html SOAP Версия 1.2 Часть 0: Учебник для начинающих]

Отрывок, характеризующий SOAP

На другой день, в 8 часов утра, Пьер с Несвицким приехали в Сокольницкий лес и нашли там уже Долохова, Денисова и Ростова. Пьер имел вид человека, занятого какими то соображениями, вовсе не касающимися до предстоящего дела. Осунувшееся лицо его было желто. Он видимо не спал ту ночь. Он рассеянно оглядывался вокруг себя и морщился, как будто от яркого солнца. Два соображения исключительно занимали его: виновность его жены, в которой после бессонной ночи уже не оставалось ни малейшего сомнения, и невинность Долохова, не имевшего никакой причины беречь честь чужого для него человека. «Может быть, я бы то же самое сделал бы на его месте, думал Пьер. Даже наверное я бы сделал то же самое; к чему же эта дуэль, это убийство? Или я убью его, или он попадет мне в голову, в локоть, в коленку. Уйти отсюда, бежать, зарыться куда нибудь», приходило ему в голову. Но именно в те минуты, когда ему приходили такие мысли. он с особенно спокойным и рассеянным видом, внушавшим уважение смотревшим на него, спрашивал: «Скоро ли, и готово ли?»
Когда всё было готово, сабли воткнуты в снег, означая барьер, до которого следовало сходиться, и пистолеты заряжены, Несвицкий подошел к Пьеру.
– Я бы не исполнил своей обязанности, граф, – сказал он робким голосом, – и не оправдал бы того доверия и чести, которые вы мне сделали, выбрав меня своим секундантом, ежели бы я в эту важную минуту, очень важную минуту, не сказал вам всю правду. Я полагаю, что дело это не имеет достаточно причин, и что не стоит того, чтобы за него проливать кровь… Вы были неправы, не совсем правы, вы погорячились…
– Ах да, ужасно глупо… – сказал Пьер.
– Так позвольте мне передать ваше сожаление, и я уверен, что наши противники согласятся принять ваше извинение, – сказал Несвицкий (так же как и другие участники дела и как и все в подобных делах, не веря еще, чтобы дело дошло до действительной дуэли). – Вы знаете, граф, гораздо благороднее сознать свою ошибку, чем довести дело до непоправимого. Обиды ни с одной стороны не было. Позвольте мне переговорить…
– Нет, об чем же говорить! – сказал Пьер, – всё равно… Так готово? – прибавил он. – Вы мне скажите только, как куда ходить, и стрелять куда? – сказал он, неестественно кротко улыбаясь. – Он взял в руки пистолет, стал расспрашивать о способе спуска, так как он до сих пор не держал в руках пистолета, в чем он не хотел сознаваться. – Ах да, вот так, я знаю, я забыл только, – говорил он.