SOAP
SOAP (ang. Simple Object Access Protocol) – protokół komunikacyjny wykorzystujący XML do kodowania wywołań i najczęściej protokół HTTP do ich przenoszenia, możliwe jest jednak wykorzystanie innych protokołów do transportu danych.
SOAP jest standardem W3C, którego głównym celem było zastąpienie bardziej specyficznych protokołów komunikacyjnych (RPC), których wykorzystanie może być ograniczone poprzez zapory sieciowe lub inne zabezpieczenia[1].
Nazwa protokołu jest myląca, ponieważ przede wszystkim dotyczy usług sieciowych, a nie obiektów definiowanych w sposób znany z programowania obiektowego[2].
Budowa
Dokument SOAP zawiera w sobie nadrzędny znacznik <envelope>, zawierający obowiązkowy znacznik <body> oraz opcjonalny znacznik <header>[3]. Najważniejsze informacje przesyłane tym protokołem ulokowane są wewnątrz znacznika <body>, natomiast element <header> może zawierać opcjonalne dane wymagane w specyficznych zastosowaniach[3]. Opcjonalny znacznik <fault> występuje w przypadku wystąpienia błędu[3].
Przykład dokumentu SOAP
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
Implementacje
Implementacje SOAP to m.in.:
- Apache SOAP
- .NET
- gSOAP
- Windows Communication Foundation
Zobacz też
Przypisy
- ↑ https://web.archive.org/web/20140307032445/http://www.w3schools.com/webservices/ws_soap_intro.asp.
- ↑ Josuttis, Nicolai M. SOA in practice: the art of distributed system design. O’Reilly Media, Inc., 2007, strona: 217.
- ↑ a b c SOAP Version 1.2 Part 1: Messaging Framework (Second Edition), www.w3.org [dostęp 2017-11-26] (ang.).