WEB szolgáltatás kipróbálása
Amennyiben ismerjük egy webszolgáltatás URL-jét, úgy azt ki tudjuk próbálni egy böngészőből is. Írjuk be az URL-t, és üssünk Entert.
A web szerver felfedezi, hogy ez az url egy webszolgáltatást azonosít, így generál egy html lapot, melyben felsorolja a megvalósított függvények neveit, mint linkeket.
Valamely függvényre kattintva elolvashatjuk annak részletesebb dokumentációját (paramétereinek leírását, stb.), majd egy egyszerű web űrlapon ki is tölthetjük a paraméterlista értékeit.
Az elküldés gombra kattintva a paraméterek átkerülnek a web szolgáltatás kiválasztott függvényéhez, az lefut, majd a válaszát (az előállított adatokat) a szerver szintén html lap belsejébe helyezi, és elküldi a kliensnek.
A webszolgáltatás egy eljárás és függvénygyűjtemény. Azonban ezt a kódot nem tölthetjük le a gépünkre hogy állandóan elérhető legyen, hanem ez a gyűjtemény valamely web szerveren van tárolva. Használatához kapcsolatba kell tudni lépni a szóban forgó web szerverrel, mely általában internetelérést jelent.
Valamely függvény hívása során el kell küldeni a függvény paramétereit a web szerver felé egy HTTP kérés formájában, XML-be csomagolva. Ezen XML felépítését a SOAP protokoll írja le.
A WEB szerver fogadja a speciális belső tartalmú HTTP kérést, megkeresi a web szolgáltatást, aktiválja a függvényt a paraméterekkel, és a függvény által előállított adatokat visszacsomagolja XML-be, majd visszaküldi a kliens felé.
Tehát a függvényhíváshoz tartozó függvénytörzs utasításai nem a saját gépünkön fut le, hanem a web szerver számítógépen. A hálózatkezelés és az XML miatt a hívás és a válasz fogadása időtöbbletet okoz.
WEB DLL készítése
Amennyiben kódból szeretnénk egy web szolgáltatás valamely függvényét használni, úgy készítenünk kell egy assembly-t, amely elrejti előlünk azt, hogy ezen függvények valójában nem a mi gépünkön, hanem egy web szerveren futnak, és elvégzi helyettünk a paraméterek elküldését, és a válasz fogadását.
Ilyen assembly-t a Visual Studio képes generálni. A Project | Add web reference menüpontot kell aktiválnunk, majd be kell írni (vagy ki kell tallózni) a megfelelő url-t, amely az adott web szervert, és azon belül a megfelelő web szolgáltatást azonosítja. Wisual Studio 2008-tól a Web referenciákat felváltják a Service referenciák.
Miután azonosítottuk a web szolgáltatást, és megtekintettük a leírását, és úgy tűnik, sikerült a megfelelőt eltalálni, úgy adjuk meg a generálandó assembly nevét, és kattintsunk az Add reference nyomógombra.
Az assembly néhány másodpercen belül generálódik. A továbbiakban ugyanúgy tudjuk használni azt, mint más, közönséges assembly-t.
WEB DLL frissítése
Amennyiben sikeresen hozzáadtunk egy web szolgáltatáshoz tartozó assembly-t a projecthez, mindig számíthatunk arra, hogy a web szolgáltatás változik. Újabb függvényekkel bővülhet, néhány felrakott függvény paraméterezése változhat, stb.
A változásokhoz a generált assembly fájlt szintén módosítani, frissíteni kell, hiszen ennek hiányában az nem, vagy rosszul fogja használni a web szolgáltatás függvényeit.
A projectünkhöz aktuálisan hozzáadott web assembly-ket a Solution Explorer ablakban tudjuk megtekinteni, a Web References részben felsorolva. Bármelyik assembly-re a jobb egérgombbal kattintva elérhető egy Update web reference menüpont.
Ezt aktiválva a Visual Studio újra lekérdi a web szolgáltatás leírását, és újra generálja (frissíti) a szóban forgó assembly-t.
WEB DLL használata
Egy, a projecthez sikeresen hozzáadott web szolgáltatáshoz tartozó assembly használatában nincs semmi különleges.
Ugyanúgy osztályokat és metódusokat tartalmaz. Tartalma felderíthető az Object Browser alkalmazásával, így megtudható milyen névterekben milyen osztályok vannak, azokban milyen metódusok elérhetőek.
Ne felejtsük el azonban, hogy ezen függvények törzse egy távoli gépen, a web szerveren van tárolva, és ott kerülnek futtatásra. Ennek megfelelően, ha a program futása közben nem tud kapcsolatot teremteni ezzel a web szerverrel, akkor a függvények nem képesek működni, kivétel generálódik.
Kapcsolódó linkek