Webszolgáltatások. Hallgatói tájékoztató. Tartalom. Webszolgáltatások

Hasonló dokumentumok
Webszolgáltatások felhasználása

Webszolgáltatások. A webszolgáltatás fogalma Szolgáltatásközpontú rendszerek Szabványok és protokollok Webszolgáltatás felhasználása XML áttekintés

Vizuális, eseményvezérelt programozás XI.

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven III.

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

SOAP komponensek Delphiben

Könyvtári címkéző munkahely

Bevezetés az SAP világába. 5. Kommunikációs és integrációs technológiák

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Webshop készítése ASP.NET 3.5 ben I.

Access adatbázis elérése OLE DB-n keresztül

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Web-szolgáltatások: SOAP, WSDL

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

.NET alkalmazások telepítése

Webszolgáltatások (WS)

QuickSend. , és SMS küldés program. Felhasználói kézikönyv. Program dokumentáció 2008 JMGM Magyarország Informatikai Kft.

Számítógépes munkakörnyezet II. Szoftver

OOP és UML Áttekintés

applikációs protokollok

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Verzió: 1.7 Dátum: Elektronikus archiválási útmutató

postafiók beállításai az e-szignó archívum szolgáltatáshoz

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Segédanyag: Java alkalmazások gyakorlat

Bevezető. Servlet alapgondolatok

Telepítési Kézikönyv

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

Oralce kliens installálása Windows Server 2003-ra

Útmutató a MATARKA adatbázisból való adatátvételhez

Telepítési útmutató DoktorInfo B300 jelentéshez

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

JAVA webes alkalmazások

Objektumorientált Programozás VI.

Hálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20

Programozási nyelvek Java

BME MOGI Gépészeti informatika 4.

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Pénzügyi algoritmusok

Microsoft SQL Server telepítése

Objektumorientált programozás C# nyelven III.

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Már megismert fogalmak áttekintése

Windows hálózati adminisztráció segédlet a gyakorlati órákhoz

Stateless Session Bean

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

Webes alkalmazások fejlesztése

Objektumorientált Programozás III.

Webszolgáltatás és XML alapú adatbázis. 1. Az adatbázis megtervezése

Információ és kommunikáció

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Rendszerkövetelmények

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

A szerzõrõl... xi Bevezetés... xiii

Debreceni Egyetem Informatikai Kar. Szolgáltatás-orientált programozás az Oracle-ben

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Számítógépes Hálózatok. 5. gyakorlat

Osztott alkalmazások fejlesztési technológiái Áttekintés

einvoicing Elektronikus számlázás Ügyfélportál Felhasználói kézikönyv Ügyfélportál V Page 1 of 12

Online adatszolgáltatás beállítása a Kettős könyvelés programban (WUJEGYKE) 79/

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Digitális aláíró program telepítése az ERA rendszeren

Bánsághi Anna

Tartalomjegyzék. Levelezéshez kapcsolódó alapfogalmak

Az Internet. avagy a hálózatok hálózata

Informatika terméktervezőknek

Információ és kommunikáció

Geotechnika II. (NGB-SE005-2) Geo5 használat

Kezdő lépések Microsoft Outlook

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

Adat mentés. A program segítség file-ok, mappák mentésében. Mentési csomagokat állíthatunk össze.

Interfészek. PPT 2007/2008 tavasz.

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

OOP #14 (referencia-elv)

C#---Access adatbáziskezelési gyakorlat

13. Fájlformátumok. Schulcz Róbert Madarassy László 13. Fájlformátumok v

Rendszergazda Debrecenben

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

Szoftvertechnológia alapjai Java előadások

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Telepítés, újratelepítés több számítógépre, hálózatos telepítés Kulcs-Bér program

Tisztelt Telepítő! 2. Ellenőrizze, hogy a modul engedélyezve van-e: Szekció [382] Opció 5 (alternatív kommunikátor) BE.

GIRO GSM MODEM/VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

A belső hálózat konfigurálása

Webszolgáltatások készítése.net alapokon -

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

Szolgáltatás Orientált Architektúra és több felhasználós adatbázis használata OKF keretein belül. Beke Dániel

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza Zsemlye Tamás

Segédanyag: Java alkalmazások gyakorlat

M-Files Dokumentumkezelő telepítése

Átírás:

Webszolgáltatások Webszolgáltatások felhasználása Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát képezik. Ismeretük szükséges, de nem elégséges feltétele a sikeres zárthelyinek, illetve vizsgának. Sikeres zárthelyihez, illetve vizsgához a jelen bemutató tartalmán felül a kötelezı irodalomként megjelölt anyag, a gyakorlatokon szóban, illetve a táblán átadott tudnivalók ismerete, valamint a gyakorlatokon megoldott példák és az otthoni feldolgozás céljából kiadott feladatok önálló megoldásának képessége is szükséges. katona.krisztina@nik.bmf.hu 2 Tartalom A webszolgáltatás fogalma Szolgáltatásközpontú rendszerek Szabványok és protokollok Webszolgáltatás felhasználása XML áttekintés katona.krisztina@nik.bmf.hu 3 1

Mi a webszolgáltatás? Szoftverkomponens, amely hálózaton keresztül szolgáltatásokat nyújt Általában nagyobb rendszerek adott feladatot ellátó része A felhasználó (legtöbbször egy másik alkalmazás) számára fekete dobozként viselkedik Jól meghatározott interfészeken keresztül érhetı el katona.krisztina@nik.bmf.hu 4 A webszolgáltatások elınyei Szabványos internet protokollokon keresztül érhetı el XML-en alapuló, nyílt szabványokra épül Rendszertıl, nyelvtıl és megvalósítástól független Leírható, közzétehetı, felkutatható katona.krisztina@nik.bmf.hu 5 Szolgáltatásközpontú rendszerek A webszolgáltatások fejlıdésének korai szakaszában létrejött minta Serivce-oriented Architecture, SOA A szabványok és protokollok ezen minta alapján jöttek létre Szolgáltatásjegyzék Közzétesz Keres Szolgáltató Szolgáltat Igénybe vesz Szolgáltatást igénybe vevı katona.krisztina@nik.bmf.hu 6 2

Szabványok és protokollok A szolgáltatását a készítı közzéteheti egy jegyzékben A jegyzékben a szolgáltatást igénylı kutathat Felderítés UDDI, DISCO Leírás WSDL UDDI: Universal Description, Discovery and Integration Webszolgáltatások jegyzéke Több szempont szerint kereshetı (szolgáltatás, cégnév, telephely) Lehet nyilvános, vagy cégen belüli DISCO: a discovery (felfedezés) szóból A Microsoft megoldása szolgáltatások hirdetésére Üzenet Átvitel HTTP, SMTP, katona.krisztina@nik.bmf.hu 7 Szabványok és protokollok Ha az igénylı megtalálta a megfelelı szolgáltatást, tudnia kell, hogy hol, és milyen néven érhetı el a szolgáltatás, milyen bemeneti paramétereket vár, mit ad vissza. Felderítés UDDI, DISCO Leírás WSDL Üzenet WSDL: Web Services Description Language A kérés és a válasz leírását adja meg Átvitel HTTP, SMTP, katona.krisztina@nik.bmf.hu 8 Szabványok és protokollok Az üzenetet el kell küldeni a szolgáltatónak, ami az adatokat feldolgozva válaszüzenetet küld Felderítés UDDI, DISCO Leírás WSDL : Simple Object Access Protocol Üzenetek küldésére használt protokoll Üzenet Átvitel HTTP, SMTP, Az eddigi protokollok és szabványok az XML (Extensible Markup Language) nyelven alapulnak katona.krisztina@nik.bmf.hu 9 3

Szabványok és protokollok Az üzeneteket át kell vinni a hálózaton keresztül a szolgáltató és a szolgáltatást igénybevevı között A független az átvitel típusától A legtipikusabb a HTTP (Hypertext Transfer Protocol) Ha a kérések és a válaszok összhangja nem fontos, akkor az SMTP (Simple Mail Transfer Protocol) is kiváló eszköz a üzenetek továbbítására Felderítés UDDI, DISCO Leírás WSDL Üzenet Átvitel HTTP, SMTP, katona.krisztina@nik.bmf.hu 10 Webszolgáltatások megvalósítása.net-ben Logikai kapcsolat Ügyfélalkalmazás Webszolgáltatás Proxy osztály IIS/ASP.NET HTTP HTTP TCP/IP TCP/IP Fizikai kapcsolat katona.krisztina@nik.bmf.hu 11 Webszolgáltatás felhasználása Egy webszolgáltatás felhasználója bármilyen típusú program lehet (konzolalkalmazás, Windows alkalmazás, webalkalmazás ) A felhasználó nem kell hogy ismerje a szolgáltatás megvalósításának részleteit A kérés és a válasz protokollját, valamit az üzenet struktúráját a WSDL leíró nyelven megadott dokumentum tartalmazza Az alkalmazásfejlesztı környezetek általában képesek létrehozni egy un. proxy osztályt (ügyfélcsonkot) katona.krisztina@nik.bmf.hu 12 4

A proxy osztály (ügyfélcsonk) Elkülöníti a és a hálózati protokollokkal kapcsolatos rétegeket az alkalmazástól Egy hagyományos osztály, amely visszatükrözi a webszolgáltatás mőködését Mindenegyes proxy osztálybeli metódus bemeneti paraméterei és visszatérési értéke megegyezik a vele azonos webszolgáltatásbeliekkel A fejlesztı a szolgáltatás meghívását és a válasz fogadását a proxy osztály metódusán keresztül végzi, nem szükséges ismernie az egyéb szabványokat és protokollokat katona.krisztina@nik.bmf.hu 13 Webszolgáltatás felhasználása.net-ben Proxy osztályt legegyszerőbben úgy kapunk, ha a szolgáltatás elérhetıségét web referenciaként a projekthez adjuk A wsdl.exe parancssori eszközzel tudunk sajátos igényeknek megfelelı proxy osztályt létrehozni Adjuk meg az elérhetıséget Kattintsunk a Go gombra Adjuk meg a referencia nevét Kattintsunk az Add Reference gombra A Reference.cs fájlban található a proxy osztály, amely a projektnév.referencianév névtérben helyezkedik el és neve a webszolgáltatás neve katona.krisztina@nik.bmf.hu 14 Webszolgáltatás felhasználása.net-ben A szolgáltatás neve Meghívható metódusok A szolgáltatás címét a böngészıbe beírva, a meghívható metódusok megjelennek, azokat kipróbálhatjuk. katona.krisztina@nik.bmf.hu 15 5

Feladat Készítsünk alkalmazást, amely megjeleníti az aktuális idıjárást egy megadott városban. Az adatokat egy webszolgáltatótól kérjük le. Megoldási ötletek: Keressünk webszolgáltatás-keresıt Keressünk rá idıjárás-szolgáltatókra Ellenırizzük, hogy létezik-e a WSDL leírás Adjuk meg a web referenciát A proxy osztály segítségével hívjuk meg a szolgáltatást katona.krisztina@nik.bmf.hu 16 Megoldás egy lehetséges eset A kiválasztott szolgáltatás címe: http://www.webservicex.com/globalweather.asmx A Reference.cs fájlt megnézve, vagy az IntelliSense-re hagyatkozva Példányosítjuk a proxy osztályt, Meghívjuk a metódusát (miáltal meghívódik a távoli metódus) Proxy osztály WeatherService.GlobalWeather weather = new WeatherService.GlobalWeather(); string response = weather.getweather(textboxcity.text, textboxcountry.text); MessageBox.Show(response); A szolgáltatás meghívása katona.krisztina@nik.bmf.hu 17 XML - áttekintés Az eredmény XML formátumban van Az anyagnak nem célja az XML ismertetése, az itt következı rész, csak egy kis áttekintés, hiszen a webszolgáltatások alapja az XML sokszor a válasz formátuma is ez katona.krisztina@nik.bmf.hu 18 6

XML - áttekintés XML = Extensible Markup Language Olyan információ és szolgáltatás kódolására alkalmas struktúra és tartalom, amely mind ember, mind számítógép számára értelmezhetı. XML dokumentum Az XML dokumentum egy bevezetıvel indul (legtöbbször a verziószámot és a kódolás típusát tartalmazza), ezt követi a gyökérelem, és ezt a többi elem egymásba ágyazva. Az elemek nyitó-, zárótagbıl és a köztük elhelyezkedı tartalomból állnak. XML séma Az XML dokumentumok struktúrájára és a tartalom megkötéseinek leírására szolgáló nyelv. Az ilyen fájlok kiterjesztése xsd. katona.krisztina@nik.bmf.hu 19 Feladat Az elıbb bemutatott webalkalmazás megadja, hogy egy adott országban mely városokról szolgáltat adatokat. Használjuk ezt ki a városok megadásánál. katona.krisztina@nik.bmf.hu 20 Megoldás egy lehetséges eset Az elızı módon meghívjuk a megfelelı metódust, ami egy sztringet ad vissza Az sztringrıl tudjuk, hogy XML formátumban van Az XML dokumentumból lekérjük a City nevő tageket. Egy tömböt kapunk. A tömbbıl kiíratjuk a városokat. katona.krisztina@nik.bmf.hu 21 7

Megoldás egy lehetséges eset WeatherService.GlobalWeather weather = new WeatherService.GlobalWeather(); string response = weather.getcitiesbycountry(textboxcountry.text); az eredményt bájttömbbé konvertáljuk, hogy byte[] responsebytes = Encoding.UTF32.GetBytes(response); Streambe tehessük System.IO.MemoryStream ms = new System.IO.MemoryStream(responseBytes); System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.load(ms); System.Xml.XmlNodeList elemlist = doc.getelementsbytagname("city"); a MemoryStreambıl tudjuk kiolvasni az XML-adatokat az XML dokumentum reprezentációja a memóriában foreach (System.Xml.XmlNode node in elemlist) comboboxcities.items.add(node.innertext); comboboxcities.text = comboboxcities.items[0].tostring(); a "City" nevő tagek kinyerése a City nevő tagek tömbjén végigmenve feltöltjük a comboboxot a városok neveivel katona.krisztina@nik.bmf.hu 22 Feladat Tegyük felhasználóbaráttá a programot Kezeljük a nemvárt eseteket katona.krisztina@nik.bmf.hu 23 Házi feladat Készítsünk egy dll-t, mely vicceket tárol, és kérésre ad egyet közülük. A következı órai webszolgáltatásnak ez lesz a logikai alapja. katona.krisztina@nik.bmf.hu 24 8

Webszolgáltatások Webszolgáltatások készítése Tartalom ASP.NET webszolgáltatás létrehozása Visual Studio 2005-tel Egyszerő tesztelési lehetıségek Kivételkezelés Telepítési módok Közzététel katona.krisztina@nik.bmf.hu 26 Webszolgáltatások megvalósítása.net-ben Logikai kapcsolat Ügyfélalkalmazás Webszolgáltatás Proxy osztály IIS/ASP.NET HTTP HTTP TCP/IP TCP/IP Fizikai kapcsolat katona.krisztina@nik.bmf.hu 27 9

Feladat Készítsünk webszolgáltatást, amely kérésre ad egy viccet. Használjuk a házi feladatként elkészített dll-t. katona.krisztina@nik.bmf.hu 28 A vicc-osztó feladat logikája egy lehetséges megoldás A Jokes.dll biztosítja a vicceket. Mely kategóriánként egy-egy szövegfájlból olvassa ki a vicceket. A viccek között egy-egy üres sor kell hogy legyen. A JokeSelection osztály példányosításkor kapja meg a szövegfájlok elérési útját. A JokeSelection osztály szolgáltatandó metódusai: GetAJoke: adott kategóriából az adott számú viccet adja vissza szövegként NumOfJokes: adott kategóriában található viccek számát adja vissza int típusként A metódusok által dobható kivételek: NoJokeException EmptyFileException A Category felsorolás tartalmazza a viccek kategóriáit katona.krisztina@nik.bmf.hu 29 A Jokes.dll tartalma katona.krisztina@nik.bmf.hu 30 10

ASP.NET webszolgáltatás létrehozása Visual Studio 2005-tel New Web Site ASP.NET Web Service Ha helyét a fájlrendszerben adjuk meg, akkor teszteléskor a VS által generált IIS szerveren fut a szolgáltatás A létrejött fájlok asmx fájl: ez reprezentálja a webszolgáltatást, amely az URI-jével elérhetı mögöttes kód: ez adja meg a program mőködését A fájlok és az osztály nevét célszerő beszédesre megváltoztatni katona.krisztina@nik.bmf.hu 31 A fájlok tartalma asmx fájl: <%@ WebService Language="C#" CodeBehind="~/App_Code/JokeProviderService.cs" Class="JokeProviderService" %> a lap feldolgozásához ad információt mindig a <%@ WebService %> között van mögöttes kód: [WebService(Namespace = "http://www.nik.hu/hp/")] public class JokeProviderService : System.Web.Services.WebService [WebMethod(Description="Adott kategóriában, az adott sorszámú viccet adja.")] public string GetAJoke(Category category, int number) A metódus elıtti WebMethod attribútum jelzi hogy elérhetı a webszolgáltásban Az osztályban más metódusok is lehetnek katona.krisztina@nik.bmf.hu 32 Kiegészítések a szolgáltató osztályhoz A WebService attribútumnál a szolgáltatás fontos beállításai adhatók meg: névtér: figyelem!, nem azonos a.net névtérrel Az XML névtér a dokumentum elemeinek egyedi azonosítását szolgálja, általában egy URL Ezért írjuk át a saját cégünk webcímére név leírás [WebService(Namespace = "http://www.nik.hu/hp/")] public class JokeProviderService : System.Web.Services.WebService [WebMethod(Description="Adott kategóriában, az adott sorszámú viccet adja.")] public string GetAJoke(Category category, int number) A webszolgáltatás osztályának nem feltétlen kell a WebService osztályból származnia, de így kihasználhatjuk az ASP.NET-adta elınyöket, a fejlesztés egyszerőbb; a származtatás ajánlott katona.krisztina@nik.bmf.hu 33 11

Egyszerő tesztelési lehetıségek A webszolgáltatás futtatásakor (ha a projektet a fájlrendszerben hoztuk létre) a VS generál egy IIS szervert Ilyenkor egy böngészı nyílik, amelyben a webszolgáltatás metódusai elérhetık Teszteléshez megírhatjuk a webszolgáltatást felhasználó alkalmazást, ekkor: a portszámot állítsuk fixre a szolgáltatás projektjének tulajdonságai között így ha már fut a virtuális szerver, akkor a webszolgáltatás felhasználásánál tanultak alapján a másik projektben (akár solutionben) használhatjuk a webszolgáltatásunkat katona.krisztina@nik.bmf.hu 34 Kivételkezelés Fault: kliens esetén az ASP.NET ilyen hibát küld, melynek mezıi: faultcode: kötelezı, karakterlánc általában a hibakódok egyikével kezdıdik: Server: a hiba a szerverben volt, az üzenet újbóli elküldése sikerre vezethet Client: a hiba az üzenet tartalmában vagy formátumában van, nem érdemes újra próbálkozni faultstring: olvasható formában írja le a hiba okát faultactor: tájékoztat, hogy hol következett be a hiba az üzenet útja során katona.krisztina@nik.bmf.hu 35 Kivételkezelés Ha a webszolgáltatás minden kivételt elkap, és helyettük SoapException-t dob, akkor az ASP.NET ennek alapján tölti ki a Fault mezıit Code tulajdonság -> faultcode Message tulajdonság -> faultstring Actor tulajdonság -> faultactor Így saját hibakódokat küldve elérhetjük, hogy a kliensalkalmazás megfelelı információhoz jusson Figyelem! A WSDL leírás nem tartalmaz információt a kivételekrıl, tehát a saját kivételeket külön kell dokumentálni katona.krisztina@nik.bmf.hu 36 12

Kivételkezelés szolgáltatói oldal try JokeSelection js = new JokeSelection(Server.MapPath("App_Data") + "//"); return js.numofjokes(category); catch (Exception ex) System.Xml.XmlQualifiedName code; if (ex is Jokes.NoJokeException) code = new System.Xml.XmlQualifiedName("Client.NoJoke"); else if (ex is Jokes.EmptyFileException) code = new System.Xml.XmlQualifiedName("Server.EmptyFile"); else code = SoapException.ServerFaultCode; throw new SoapException(ex.Message, code); A vicceket tartalmazó fájlok az App_Data mappában vannak. Minden kivételt elkapunk. A SoapException.Code tulajdonság nem szting hanem XmlQualifiedName példány. A Jokes.dll-ben két kivételt definiáltunk: NoJokeException és EmptyFileException. Ezeket SoapException-né alakítjuk. A többi kivételt alapértelmezett szerver hibaként kezeljük. A SoapExceptiont az üzenettel és a kóddal példányosítva dobjuk. katona.krisztina@nik.bmf.hu 37 Kivételkezelés felhasználói oldal try JokeProviderService.JokeProviderService js = new JokeProviderService.JokeProviderService(); Elkapjuk a SoapException catch (System.Web.Services.Protocols.SoapException ex) kivételeket. switch (ex.code.tostring()) A kivétel kódja nincs benne case "Client.NoJoke": a WSDL-ben, máshonnan MessageBox.Show(ex.Message); ismerjük. break; default: MessageBox.Show(ex.Code + "\n\n " + ex.message); break; katona.krisztina@nik.bmf.hu 38 Telepítési módok Másolás (Copy Web Site) A fájlokat és mappákat egy-az-egyben felmásolja a célszerverre Szinkronizációs eszközt is tartalmaz Website/Copy Web Site menüpont Publikálás (Publish Web Site) Elıfordítja a webszolgáltatást és a megadott helyre másolja az eredményt Build/Publish Web Site menüpont Telepítı alkalmazás készítése A.NET alkalmazások telepítése, Windows Installer (MSI) telepítıkészlet létrehozása részben leírtak szerint Csak a Setup and Deployment típusok közül a Web Setup Project sablont kell választani katona.krisztina@nik.bmf.hu 39 13

Közzététel UDDI (Universal Description, Discovery and Integration) A szolgáltatás megadásán kívül a szolgáltatóról is tartalmaz adatokat (név, elérhetıségek ) A szolgáltatás üzleti besorolása is megadható DISCO (discovery) A Microsoft fejlesztése Tartalmazhat: Hivatkozást webszolgáltatások leírására Hivatkozást más DISCO fájlra katona.krisztina@nik.bmf.hu 40 Közzététel DISCO A szolgáltatások leírása egy.disco kiterjesztéső XML fájlban van A fájlban lévı leírások hivatkozás hozzáadásával (References/Add Web Reference) és a disco fájl megadásával érhetık el katona.krisztina@nik.bmf.hu 41 Feladat Az elkészített vicc-osztó webszolgáltatásban oldjuk meg a kivételek kezelését Telepítsük a szolgáltatást Tegyük közzé A közzétett szolgáltatások közül egyet használjuk, és nevessünk a viccein katona.krisztina@nik.bmf.hu 42 14

Ajánlott irodalom XML összefoglaló Steve Graham et al: Java alapú webszolgáltatások Webszolgáltatások bevezetı John Sharp: Visual C# 2005 lépésrıl lépésre Webszolgáltatások angolul A. Freeman, A. Jones: Microsoft.NET XML Web Services Step by Step Telepítés http://msdn2.microsoft.com/en-us/library/7hd4c0x3(vs.80).aspx XML adatkezelés http://msdn2.microsoft.com/en-us/library/hf9hbf87(vs.80).aspx http://forums.devx.com/archive/index.php/t-16677.html katona.krisztina@nik.bmf.hu 43 15