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:

Slides:



Advertisements
Hasonló előadás
Windows Communication Foundation (WCF)
Advertisements

Zenetár a webszerverünkön, avagy XML használata PHP 5 alatt. Ercsey Balázs (laze) – netpeople.hu.
Készítette: Boros Erzsi
RESTful Web Service tesztelése
Hotel Eger Park Konferenciaközpont október
Hálózati és Internet ismeretek
HÁLÓZAT SOAP Hagyományos WCF/ASMX webszervizek.
avagy a hálózatok hálózata
Egy kisvállakozás dinamikus weboldalának fejlesztése: tervezés, problémák, megoldások Szilágyi Gábor.
1. Előadás WCF- bemutatás
Social Networking alkalmazás fejlesztése ASP.NET 3.5-tel Árvai Zoltán Consultant, Trainer Számalk Oktatóközpont.
4. Web Szolgáltatások Dr. Bilicki Vilmos Szegedi Tudományegyetem
Webszolgáltatások PHP-ben
HTML5 alapú fejlesztő és futtató környezet megvalósítása
Extensible Markup Language
2010/2011.Huszár István1. dia Weboldalak tervezése II. (X)HTML.
Az Internet elemei és hozzáférési technológiái Az Internet architektúrája.
ZigBee alapú adatgyűjtő hálózat tervezése
OSI Modell.
Virtuális méréstechnika
Kincses Zoltán, Mingesz Róbert, Vadai Gergely
Mérés és adatgyűjtés laboratóriumi gyakorlat Makan Gergely, Mingesz Róbert, Nagy Tamás 2. óra szeptember 9., 10. v
Hernyák Zoltán XML validálás.
XML alapok 2. XML hibaellenőrzés XML a böngészőkben XML parser
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
WSDL alapismeretek A WSDL (Web Services Description Language – Web szolgáltatások leíró nyelv) egy XML-alapú nyelv a Web szolgáltatások leírására és azok.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
OE-NIK HP Haladó Programozás WCF kivételkezelés. OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése.
Egy ISA szerver naplója Sárosi György Terméktámogatási Tanácsadó Microsoft Magyarország.
Önleíró adatok: XML INFO ÉRA, Békéscsaba
Webszerkesztés Stíluslapok (CSS).
Bevezetés az ebXML-be Forrás: An Introduction to ebXML ebXML and Web Services Practical Considerations In Implementing Web Services Romin IraniRomin Irani.
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
XML támogatás adatbázis-kezelő rendszerekben
PHP VIII Frissítések. Probléma Megoldandó feladat a böngészőben megjelenített tartalom időnkénti frissítése Például, ha az oldalon szerepel a szerver.
A protokollok határozzák meg a kapcsolattartás módját.
Programrendszerek Fejlesztése 14/11 1. Az előző előadás tartalma: 2  Alkalmazásszerverek, alkalmazásszerverek felépítése  Java EE alkalmazások és modulok.
LOGO Webszolgáltatások Készítette: Kovács Zoltán IV. PTM.
XHTML 1. óra. Miért térjünk át HTML-ről XHTML- re? HTML-szabványban tartalom és forma összemosódott HTML 4.0 szabványban stíluslapok használatát javasolták.
Mobil informatika gyakorlat 2. óra: az NDEF formátum.
Űrlapok.
WEB 2.0. Amiről szó lesz… Web átalakulóban, a WEB 2.0 –Újszerű weboldalak… –Első a tartalom! –A felhasználók hatalomátvétele?! –A Web mint platform –
Flash és PHP? De még mennyire! Kiss-Tóth Marcell
Weboldalak tervezése (X)HTML.
Hernyák Zoltán XML Schema sémadefiníció.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hálózati alapismeretek
HTML5 alapú fejlesztő és futtató környezet megvalósítása
Web fejlesztés V. Illés Zoltán ELTE Informatikai Kar
HTML 2. Űrlapok
Illés Zoltán ELTE Informatikai Kar
XML adatkezelés 1. témakör Az XML szabvány.
Java web programozás 11..
Webszolgáltatások Simon Balázs
XML Mi az XML?  Extensible Markup Language  Kiterjeszthető jelölő nyelv  Adatok, adatstruktúrák leírására szolgál  A HTML és az SGML tapasztalataira.
Objektum orientált programozás
Apache Ant 2. gyakorlat Alkalmazásfejlesztés /2 Gyakorlat Zalatnai Csongor.
Hálózat menedzsment Óravázlat Készítette: Toldi Miklós.
3 4 5 Mailbox szerepkör Mailbox szerepkör Client Access szerepkör Client Access szerepkör Hub Transport szerepkör Hub Transport szerepkör Edge Transport.
Illés Zoltán ELTE Informatikai Kar
Algoritmizálás, adatmodellezés
Az XML nyelv (Extensible Markup Language). XML  XML: leíró nyelv (metanyelv)  XML alkalmazás: egy megalkotott nyelv  XML dokumentum: egy új nyelv egy.
Java web programozás 6..
Programozás III JPA.
1 A Twitter és a Facebook API Szolgáltatások és Alkalmazások Ujvárosi Szabolcs 2010.
Hálózatos programok készítése
Alkalmazott Informatikai Tanszék
Web technológia alapjai
Az IP-vel együtt kötelező implementálni.
Előadás másolata:

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. 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 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 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 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 ... <soap:Fault> </soap:Fault> </soap:Body> </soap:Envelope>

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>

SOAP alapismeretek 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 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 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 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 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 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 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 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 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 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 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 400 Bad Request Content-Length: 0

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

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

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 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 <?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 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 <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 Kiegészítő technológiák: WS Addressing SOAP Attachments: SOAP Message Transmission Optimization Mechanism (MTOM) XML- binary Optimized Packaging (XOP)