Komunikace protokolem SOAP
SOAP (původně
Simple Object Access Protocol) je protokolem pro výměnu zpráv založených na
XML přes síť, hlavně pomocí
HTTP.
Formát
SOAP tvoří základní vrstvu komunikace mezi webovými službami a poskytuje prostředí pro tvorbu složitější komunikace.
Existuje několik různých druhů šablon pro komunikaci na protokolu
SOAP. Nejznámější z nich je
RPC šablona, kde jeden z účastníků komunikace je klient a na druhé straně je server. Server ihned odpovídá na požadavky klienta.
Jako standard pro přenos
SOAP zpráv byl zvolen formát
XML. Tento formát byl vybrán pro svou rozšířenost a dostupnost vývojových nástrojů nabízených jako opensource nebo freeware.
Příklad, jak může vypadat zpráva 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>
Příklad odpovědi webové služby klientovi:
<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>
V systému PROMOTIC lze komunikovat touto technologií pomocí objektu
HttpRequest.