1 / 25

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: http://www.w3schools.com/soap/. SOAP alapismeretek. Mi is a SOAP valójában? A SOAP a Simple Object Access Protocol rövidítése.

brant
Download Presentation

SOAP alapismeretek

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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: http://www.w3schools.com/soap/ SOAP alapismeretek

  2. 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. SOAP alapismeretek

  3. 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 http://www.w3.org/2001/12/soap-envelope alapértelmezett (default) névtérben deklarálták, a SOAP kódolás és adattípusok default névtere pedig http://www.w3.org/2001/12/soap-encoding . SOAP alapismeretek

  4. 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. SOAP alapismeretek

  5. 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> ... SOAP alapismeretek

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

  7. 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:Envelopexmlns: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> SOAP alapismeretek

  8. A SOAP üzenetnek mindig kell lennie egy a http://www.w3.org/2001/12/soap-envelope 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" SOAP alapismeretek

  9. 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> SOAP alapismeretek

  10. 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> SOAP alapismeretek

  11. 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" SOAP alapismeretek

  12. 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> SOAP alapismeretek

  13. 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" SOAP alapismeretek

  14. 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> SOAP alapismeretek

  15. 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> SOAP alapismeretek

  16. 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> SOAP alapismeretek

  17. 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 SOAP alapismeretek

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

  19. 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 SOAP alapismeretek

  20. 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 SOAP alapismeretek

  21. 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 http://www.stock.org/stock címen van defíniálva. A SOAP kérés a következő: POST /InStock HTTP/1.1 Host: www.stock.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn SOAP alapismeretek

  22. <?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> SOAP alapismeretek

  23. 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"> SOAP alapismeretek

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

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

More Related