Otwórz menu główne

SOAP

sieciowy protokół komunikacyjny
Struktura 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].

BudowaEdytuj

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[4]. Opcjonalny znacznik <fault> występuje w przypadku wystąpienia błędu[5].

Przykład dokumentu SOAPEdytuj

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>

ImplementacjeEdytuj

Zobacz teżEdytuj

PrzypisyEdytuj

  1. http://www.w3schools.com/webservices/ws_soap_intro.asp
  2. Josuttis, Nicolai M. SOA in practice: the art of distributed system design. O'Reilly Media, Inc., 2007., strona: 217
  3. SOAP Version 1.2 Part 1: Messaging Framework (Second Edition), www.w3.org [dostęp 2017-11-26] (ang.).
  4. SOAP Version 1.2 Part 1: Messaging Framework (Second Edition), www.w3.org [dostęp 2017-11-26] (ang.).
  5. SOAP Version 1.2 Part 1: Messaging Framework (Second Edition), www.w3.org [dostęp 2017-11-26] (ang.).

Linki zewnętrzneEdytuj