SOAP (англ. Simple Object Access Protocol) — протокол обміну структурованими повідомленнями в розподілених обчислювальних системах, базується на форматі XML.
Спочатку SOAP призначався, в основному, для реалізації віддаленого виклику процедур (RPC), а назва була абревіатурою: Simple Object Access Protocol — простий протокол доступу до об'єктів. Зараз протокол використовується для обміну повідомленнями в форматі XML, а не тільки для виклику процедур. SOAP є розширенням мови XML-RPC.
SOAP можна використовувати з будь-яким протоколом прикладного рівня: SMTP, FTP, HTTP та інші. Проте його взаємодія з кожним із цих протоколів має свої особливості, які потрібно відзначити окремо. Найчастіше SOAP використовується разом з HTTP.
SOAP є одним зі стандартів, на яких ґрунтується технологія вебсервісів.
Структура протоколу
Повідомлення SOAP структурується так:
SOAP-конверт
- SOAP-заголовок
- Елемент заголовку 1
- Елемент заголовку 2
- …
- Елемент заголовку N
- Тіло SOAP
- Елемент тіла 1
- Елемент тіла 2
- …
- Елемент тіла N
- SOAP-заголовок
Приклади
Приклад SOAP POST повідомлення:
POST /InStock HTTP/1.1 Host: www.example.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: 299 <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Header> </soap:Header> <soap:Body> <m:GetStockPrice xmlns:m="http://www.example.org/stock"> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope>
Приклад SOAP-запиту на сервер інтернет-магазину:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getProductDetails xmlns="http://warehouse.example.com/ws"> <productID>12345</productID> </getProductDetails> </soap:Body> </soap:Envelope>
Приклад відповіді:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getProductDetailsResponse xmlns="http://warehouse.example.com/ws"> <getProductDetailsResult> <productID>12345</productID> <productName>Склянка ребриста</productName> <description>Склянка ребриста. 200 мл.</description> <price>9.95</price> <inStock>true</inStock> </getProductDetailsResult> </getProductDetailsResponse> </soap:Body> </soap:Envelope>
Переваги
- SOAP є достатньо гнучким, що дозволяє використовувати різні транспортні протоколи. Стандартні реалізації використовують HTTP як транспортний протокол, однак також можливо використовувати JMS чи SMTP.
- Позаяк модель SOAP каналів(з'єднань) прекрасно працює в контексті моделі HTTP запитів-відповідей, то можливо легко встановлювати з'єднання на базі існуючих фаєрволів чи проксі-серверів без жодних модифікацій самого SOAP-протоколу.
Недоліки
- Застосування SOAP для передачі повідомлень збільшує їхній обсяг і зменшує швидкість обробки. У системах, де швидкість важлива, часто надсилають XML документи безпосередньо через HTTP як звичайні HTTP параметри або застосовують протокол REST.
- Попри те, що для SOAP є стандарт, різні програми часто генерують повідомлення в несумісному форматі. Наприклад, запит згенерований [en]-клієнтом, не завжди розпізнається сервером WebLogic.
Посилання
- Специфікація SOAP [ 15 квітня 2021 у Wayback Machine.](англ.)
- SOAP Версія 1.2 Частина 0: Підручник для початківців [ 5 червня 2014 у Wayback Machine.](англ.)
- Список серверів для тестування — SOAPBuilders Interoperability Lab [ 19 січня 2012 у Wayback Machine.] (англ.)
Ця стаття потребує додаткових для поліпшення її . (січень 2016) |
Це незавершена стаття про Інтернет. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
SOAP angl Simple Object Access Protocol protokol obminu strukturovanimi povidomlennyami v rozpodilenih obchislyuvalnih sistemah bazuyetsya na formati XML Spochatku SOAP priznachavsya v osnovnomu dlya realizaciyi viddalenogo vikliku procedur RPC a nazva bula abreviaturoyu Simple Object Access Protocol prostij protokol dostupu do ob yektiv Zaraz protokol vikoristovuyetsya dlya obminu povidomlennyami v formati XML a ne tilki dlya vikliku procedur SOAP ye rozshirennyam movi XML RPC SOAP mozhna vikoristovuvati z bud yakim protokolom prikladnogo rivnya SMTP FTP HTTP ta inshi Prote jogo vzayemodiya z kozhnim iz cih protokoliv maye svoyi osoblivosti yaki potribno vidznachiti okremo Najchastishe SOAP vikoristovuyetsya razom z HTTP SOAP ye odnim zi standartiv na yakih gruntuyetsya tehnologiya vebservisiv Struktura protokoluPovidomlennya SOAP strukturuyetsya tak SOAP konvert SOAP zagolovokElement zagolovku 1 Element zagolovku 2 Element zagolovku N dd Tilo SOAPElement tila 1 Element tila 2 Element tila N dd dd PrikladiPriklad SOAP POST povidomlennya POST InStock HTTP 1 1 Host www example org Content Type application soap xml charset utf 8 Content Length 299 lt xml version 1 0 gt lt soap Envelope xmlns soap http www w3 org 2003 05 soap envelope gt lt soap Header gt lt soap Header gt lt soap Body gt lt m GetStockPrice xmlns m http www example org stock gt lt m StockName gt IBM lt m StockName gt lt m GetStockPrice gt lt soap Body gt lt soap Envelope gt Priklad SOAP zapitu na server internet magazinu lt soap Envelope xmlns soap http schemas xmlsoap org soap envelope gt lt soap Body gt lt getProductDetails xmlns http warehouse example com ws gt lt productID gt 12345 lt productID gt lt getProductDetails gt lt soap Body gt lt soap Envelope gt Priklad vidpovidi lt soap Envelope xmlns soap http schemas xmlsoap org soap envelope gt lt soap Body gt lt getProductDetailsResponse xmlns http warehouse example com ws gt lt getProductDetailsResult gt lt productID gt 12345 lt productID gt lt productName gt Sklyanka rebrista lt productName gt lt description gt Sklyanka rebrista 200 ml lt description gt lt price gt 9 95 lt price gt lt inStock gt true lt inStock gt lt getProductDetailsResult gt lt getProductDetailsResponse gt lt soap Body gt lt soap Envelope gt PerevagiSOAP ye dostatno gnuchkim sho dozvolyaye vikoristovuvati rizni transportni protokoli Standartni realizaciyi vikoristovuyut HTTP yak transportnij protokol odnak takozh mozhlivo vikoristovuvati JMS chi SMTP Pozayak model SOAP kanaliv z yednan prekrasno pracyuye v konteksti modeli HTTP zapitiv vidpovidej to mozhlivo legko vstanovlyuvati z yednannya na bazi isnuyuchih fayervoliv chi proksi serveriv bez zhodnih modifikacij samogo SOAP protokolu NedolikiZastosuvannya SOAP dlya peredachi povidomlen zbilshuye yihnij obsyag i zmenshuye shvidkist obrobki U sistemah de shvidkist vazhliva chasto nadsilayut XML dokumenti bezposeredno cherez HTTP yak zvichajni HTTP parametri abo zastosovuyut protokol REST Popri te sho dlya SOAP ye standart rizni programi chasto generuyut povidomlennya v nesumisnomu formati Napriklad zapit zgenerovanij en kliyentom ne zavzhdi rozpiznayetsya serverom WebLogic PosilannyaSpecifikaciya SOAP 15 kvitnya 2021 u Wayback Machine angl SOAP Versiya 1 2 Chastina 0 Pidruchnik dlya pochatkivciv 5 chervnya 2014 u Wayback Machine angl Spisok serveriv dlya testuvannya SOAPBuilders Interoperability Lab 19 sichnya 2012 u Wayback Machine angl Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno sichen 2016 Ce nezavershena stattya pro Internet Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi