Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:

Hasonló előadás


Az előadások a következő témára: "SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:"— Előadás másolata:

1 SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:

2 SOAP alapismeretek Mi is a SOAP valójában?
A SOAP a Simple Object Access Protocol rövidítése. A SOAP egy kommunikációs protokoll. A SOAP az alkalmazások közötti kommunikációra való. A SOAP az üzenetek küldésének formátuma. A SOAP-ot az Internet segítségével való kommunikációra tervezték. A SOAP platform független. A SOAP nyelv független. A SOAP az XML-en alapul. A SOAP egyszerű és bővíthető. A SOAP lehetővé teszi a tűzfalakon (firewall) való közlekedést. A SOAP-ot W3C szabványként fejlesztik.

3 SOAP alapismeretek A SOAP szintaxisa A SOAP építőkövei
A SOAP üzenet egy olyan közönséges XML dokumentum, amely a következő elemeket tartalmazza: a kötelező Envelope (boríték) elem, amely az XML dokumentumot SOAP üzenetként azonosítja, az opcionális Header (fej) elem, amely a header információkat tartalmazza, az előírásos Body (törzs) elem, amely a hívási és válasz információkat tartalmazza, az opcionális Fault (hiba) elem, amely az üzenet feldolgozása során előfordult hibákról nyújt információkat. A fenti elemek mindegyikét a SOAP boríték esetén a alapértelmezett (default) névtérben deklarálták, a SOAP kódolás és adattípusok default névtere pedig .

4 SOAP alapismeretek Szintaktikai szabályok
a SOAP üzenetet az XML felhasználásával kell kódolni, a SOAP üzenetnek a SOAP Envelope névteret kell használnia, a SOAP üzenetnek a SOAP Encoding névteret kell használnia, a SOAP üzenetnek tilos DTD hivatkozást tartalmaznia, a SOAP üzenetnek tilos XML feldolgozási utasításokat (processing instructions) tartalmaznia.

5 SOAP alapismeretek A SOAP üzenet váza <?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:Header> ... </soap:Header> <soap:Body>

6 SOAP alapismeretek ... <soap:Fault> </soap:Fault>
</soap:Body> </soap:Envelope>

7 SOAP alapismeretek A kötelező SOAP Envelope elem a SOAP üzenet gyökér eleme. Ez az elem az XML dokumentumot SOAP üzenetként definíálja. <?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"> ... Message information goes here </soap:Envelope>

8 SOAP alapismeretek A SOAP üzenetnek mindig kell lennie egy a névtérrel társított Envelope elemének. A SOAP encodingStyle attribútumot a dokumentumban használt adattípusok definíálására használjuk. Ez az attribútum bármely SOAP elemen megjelenhet, és ez ennek az elemnek és gyerek elemeinek tartalmára fog vonatkozni. A SOAP elemnek nincs default kódolása. Szintaxisa soap:encodingStyle="URI"

9 SOAP alapismeretek Példa: <?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"> ... Message information goes here </soap:Envelope>

10 SOAP alapismeretek Az opcionális Header elem a SOAP üzenet alkalmazás specifikus információit tartalmazza, mint pl. a hitelesítés, fizetési mód, stb. <?xml version="1.0"?> <soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Header> <m:Transxmlns:m="http://www.w3schools.com/transaction/"soap:mustUnderstand="1">234 </m:Trans> </soap:Header> ... </soap:Envelope>

11 SOAP alapismeretek A SOAP üzenet a küldőtől a fogadóig az üzenet útvonalán különböző végpontokat érintve haladhat. A SOAP üzenet nem minden részét szánjuk a SOAP üzenet utolsó végpontjának, hanem csak az üzenet útvonal egy vagy több végpontjának. A SOAP actor attribútumát a Header elem egy bizonyos végponthoz való címzéséhez használhatjuk. Szintaxisa  soap:actor="URI"

12 SOAP alapismeretek Példa <?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:Header> <m:Trans xmlns:m="http://www.w3schools.com/transaction/" soap:actor="http://www.w3schools.com/appml/">234 </m:Trans> </soap:Header> ... </soap:Envelope>

13 SOAP alapismeretek A SOAP mustUnderstand attribútumot annak jelzésére használhatjuk, hogy vajon a header bejegyzést a fogadónak fel kell-e dolgoznia vagy sem. Szintaxisa  soap:mustUnderstand="0|1"

14 SOAP alapismeretek Példa <?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:Header> <m:Trans xmlns:m="http://www.w3schools.com/transaction/" soap:mustUnderstand="1">234 </m:Trans> </soap:Header> ... </soap:Envelope>

15 SOAP alapismeretek A kötelező SOAP Body elem tartalmazza a tényleges SOAP üzenetet, melyet az üzenet legutolsó végpontjának szántunk. <?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> <m:GetPrice xmlns:m="http://www.w3schools.com/prices"> <m:Item>Apples</m:Item> </m:GetPrice> </soap:Body> </soap:Envelope>

16 SOAP alapismeretek Egy lehetséges válasz: <?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> <m:GetPriceResponse xmlns:m="http://www.w3schools.com/prices"> <m:Price>1.90</m:Price> </m:GetPriceResponse> </soap:Body> </soap:Envelope>

17 SOAP alapismeretek Az opcionális SOAP Fault elemet a SOAP üzenet hiba és státusz információinak tárolására használjuk. A SOAP Fault elemnek a következő alelemei vannak: <faultcode> : a hiba azonosítására szolgáló kód, <faultstring> : a hiba ember által olvasható magyarázata, <faultactor> : információ arról, hogy ki okozta a hibát, <detail> : a Body elemhez kapcsolódó alkalmazás specifikus hiba információt tartalmaz. SOAP Fault kódok: VersionMismatch, MustUnderstand, Client, Server

18 SOAP alapismeretek SOAP HTTP kötés (binding) HTTP kérés:
POST /item HTTP/1.1 Host: Content-Type: text/plain Content-Length: 200 HTTP válaszok: 200 OK 400 Bad Request Content-Length: 0

19 SOAP alapismeretek SOAP HTTP kötés (binding)
A SOAP metódus egy HTTP kérés/válasz, amely megfelel a SOAP kódolási szabályainak. HTTP + XML = SOAP A SOAP kérés lehet egy HTTP POST vagy egy HTTP GET kérés. A HTTP POST kérés legalább két HTTP fejet specifikál: Content-Type és Content-Length (tartalom típus és tartalom hosszúság). A Content-Type fej egy SOAP kérés és válasz esetén meghatározza az üzenet MIME típusát és a kérés vagy válasz XML törzsében használt karakter kódolást. Szintaxisa: Content-Type: MIMEType; charset=character-encoding Példa: POST /item HTTP/1.1 Content-Type: application/soap+xml; charset=utf-8

20 SOAP alapismeretek Egy SOAP kérés és válasz Content-Length feje a kérés vagy válasz törzsében lévő bájtok számát adja meg. Szintaxisa: Content-Length: bytes POST /item HTTP/1.1 Content-Type: application/soap+xml; charset=utf-8 Content-Length: 250

21 SOAP alapismeretek Egy SOAP példa
A következő példában egy GetStockPrice kérést küldünk a szervernek. A kérésnek van egy StockName paramétere, és válaszként egy Price paraméter lesz visszaküldve. A függvény névtere a címen van defíniálva. A SOAP kérés a következő: POST /InStock HTTP/1.1 Host: Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn

22 SOAP alapismeretek <?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.stock.org/stock"> <m:GetStockPrice> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope>

23 SOAP alapismeretek A SOAP válasz pedig: HTTP/1.1 200 OK
Content-Type: application/soap; 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">

24 SOAP alapismeretek <soap:Body xmlns:m="http://www.stock.org/stock"> <m:GetStockPriceResponse> <m:Price>34.5</m:Price> </m:GetStockPriceResponse> </soap:Body> </soap:Envelope>

25 SOAP alapismeretek Kiegészítő technológiák: WS Addressing
SOAP Attachments: SOAP Message Transmission Optimization Mechanism (MTOM) XML- binary Optimized Packaging (XOP)


Letölteni ppt "SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:"

Hasonló előadás


Google Hirdetések