Komunikacja poprzez protokół SOAP
SOAP (wcześniej
Simple Object Access Protocol) to protokół do wymiany wiadomości opartych na
XML w sieci, przede wszystkim
HTTP.
Format
SOAP tworzy podstawową warstwę komunikacji między usługami sieciowymi i zapewnia środowisko do tworzenia bardziej złożonej komunikacji.
Istnieje kilka różnych typów szablonów dla komunikacji
SOAP. Najbardziej znanym z nich jest szablon
RPC, w którym jedna ze stron komunikacji jest klientem, a druga serwerem. Serwer odpowiada natychmiast na żądania klienta.
Format
XML został wybrany jako standard transmisji komunikatów
SOAP. Format ten został wybrany ze względu na jego powszechne zastosowanie i dostępność narzędzi programistycznych oferowanych jako opensource lub freeware.
Przykład tego, jak może wyglądać wiadomość od klienta:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<getProductDetails xmlns="http://warehouse.example.com/ws">
<productID>827635</productID>
</getProductDetails>
</soap:Body>
</soap:Envelope>
Przykład odpowiedzi usługi sieciowej do klienta:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<getProductDetailsResponse xmlns="http://warehouse.example.com/ws">
<getProductDetailsResult>
<productName>Chocolate, set of 3 flavours</productName>
<productID>827635</productID>
<description>Chocolate dark, white and cream</description>
<price>98,50</price>
<inStock>yes</inStock>
</getProductDetailsResult>
</getProductDetailsResponse>
</soap:Body>
</soap:Envelope>
W systemie PROMOTIC można komunikować się przy pomocy tej technologii przy pomocy obiektu
HttpRequest.