WSDL oktatóanyag: Webszolgáltatások leírási nyelve példával

Tartalomjegyzék:

Anonim

Mi a WSDL?

A Web Services Description Language (WSDL) egy XML alapú fájl, amely alapvetően megmondja az ügyfélalkalmazásnak, hogy mit csinál a webszolgáltatás. A WSDL fájl dióhéjban leírja, hogy mit tesz a webszolgáltatás, és megadja az ügyfélnek a webszolgáltatáshoz való csatlakozáshoz és a webszolgáltatás által nyújtott összes funkció használatához szükséges összes információt.

Ebben az oktatóanyagban az utolsó pontra fogunk összpontosítani, amely a webszolgáltatások legfontosabb része, vagyis a WSDL vagy a webszolgáltatások leírási nyelve.

A WSDL fájl dióhéjban leírja, hogy mit tesz a webszolgáltatás, és megadja az ügyfélnek a webszolgáltatáshoz való kapcsolódáshoz és a webszolgáltatás által nyújtott összes funkció használatához szükséges összes információt.

Ebben az oktatóanyagban megtanulja-

  • A WSDL dokumentum felépítése
  • WSDL elemek
  • Miért a WSDL
  • WSDL üzenetrész
  • Port típusú kötés
  • WSDL fájl létrehozása
  • A webszolgáltatás példájának közzététele

A WSDL dokumentum felépítése

A webszolgáltatás leírására WSDL dokumentumot használnak. Erre a leírásra azért van szükség, hogy az ügyfélalkalmazások megértsék, mit is csinál a webszolgáltatás.

  • A WSDL fájl tartalmazza a webszolgáltatás helyét és
  • A webszolgáltatás által kitett módszerek.

Maga a WSDL fájl minden felhasználó számára nagyon összetettnek tűnhet, de tartalmazza az összes szükséges információt, amelyre bármely ügyfélalkalmazásnak szüksége lenne a megfelelő webszolgáltatás használatához.

Az alábbiakban bemutatjuk a WSDL fájl általános felépítését

  • Meghatározás
  • TargetNamespace
  • Adattípusok
  • üzenetek
  • Porttype
  • Kötések
  • szolgáltatás

Az egyik legfontosabb dolog, amit itt meg kell jegyezni, hogy az üzenetek meghatározása, amelyet a SOAP protokoll ad át, a WSDL dokumentumban tulajdonképpen meghatározza.

A WSDL-dokumentum valójában megmondja az ügyfélalkalmazásnak, hogy milyen típusú SOAP-üzeneteket küld és fogad el a webszolgáltatás.

Más szavakkal, a WSDL olyan, mint egy képeslap, amelynek egy adott hely címe van. A cím megadja a képeslap átadójának adatait. Ezért ugyanígy a WSDL fájl a képeslap, amely megadja a webszolgáltatás címét, amely az ügyfél által igényelt összes funkciót el tudja látni.

Az alábbiakban bemutatjuk a WSDL fájl felépítésének diagramját

A WSDL felépítése

WSDL elemek

A WSDL fájl a következő fő részeket tartalmazza

  1. A címke az összes összetett adattípus meghatározására szolgál, amelyeket az ügyfélalkalmazás és a webszolgáltatás között kicserélt üzenet fog használni. Ez fontos szempont az ügyfélalkalmazásban, mert ha a webszolgáltatás összetett adattípussal működik, akkor az ügyfélalkalmazásnak tudnia kell, hogyan kell feldolgozni az összetett adattípust. Az olyan adattípusok, mint a lebegő, a számok és a karakterláncok, mind egyszerű adattípusok, de létezhetnek strukturált adattípusok, amelyeket a webszolgáltatás biztosíthat.

    Például létezhet egy EmployeeDataType nevű adattípus, amelynek két eleme lehet "EmployeeName", karaktersorozat típusú, és "EmployeeID" típusú, vagy egész típusú. Együtt alkotnak egy adatstruktúrát, amely aztán komplex adattípussá válik.

  2. A címke segítségével meghatározható az üzenet, amelyet az ügyfélalkalmazás és a webkiszolgáló cserél. Ezek az üzenetek elmagyarázzák a be- és kimeneti műveleteket, amelyeket a webszolgáltatás elvégezhet. Például egy üzenet lehet egy üzenet, amely elfogadja a munkavállaló EmployeeID azonosítóját, és a kimeneti üzenet lehet a munkavállaló neve a megadott EmpoyeeID alapján.

  3. A címkét arra használják, hogy minden bemeneti és kimeneti üzenetet egyetlen logikai műveletbe foglaljon. Tehát létezhet egy "GetEmployee" nevű művelet, amely egyesíti azt a bemeneti üzenetet, hogy elfogadja az EmployeeID-t egy kliens alkalmazásból, majd elküldi az EmployeeName-t kimeneti üzenetként.

  4. A címkét arra használják, hogy a műveletet az adott port típushoz kösse. Ennek az az oka, hogy amikor az ügyfélalkalmazás felhívja a megfelelő porttípust, akkor hozzáférhet az ehhez a porttípushoz kötött műveletekhez. A porttípusok olyanok, mint az interfészek. Tehát, ha egy ügyfélalkalmazásnak webszolgáltatást kell használnia, akkor a kötelező információkat fel kell használnia annak biztosítására, hogy csatlakozhasson az adott webszolgáltatás által biztosított felülethez.

  5. A címke egy neve, amelyet magának a webszolgáltatásnak adnak. Kezdetben, amikor egy ügyfélalkalmazás felhívja a webszolgáltatást, akkor a webszolgáltatás nevének meghívásával fog tenni. Például egy webszolgáltatás olyan címen található, mint a http: //localhost/Guru99/Tutorial.asmx . A szolgáltatási címke URL-je valójában a következő lesz : http: //localhost/Guru99/Tutorial.asmx , amely valójában megmondja az ügyfélalkalmazásnak, hogy ezen a helyen elérhető webes szolgáltatás.

Miért a WSDL

A webes szolgáltatás fontos elem a modern webes alkalmazások kiépítésében. Fő céljuk, hogy a különféle programozási nyelvekre épülő több alkalmazás beszélhessen egymással. Például, egy .Net webalkalmazás beszélgethet egy Java alkalmazással egy webszolgáltatáson keresztül.

A webszolgáltatás a következő főbb jellemzőkkel rendelkezik

  • Az XML programozási nyelv használatával épül fel. Szinte az összes modern technológia, például a .Net és a Java megfelelő parancsokkal rendelkezik, amelyek képesek XML-mel való együttműködésre. Ezért az XML-t vették a legalkalmasabb nyelvnek a webes szolgáltatások felépítéséhez.
  • A webszolgáltatások HTTP-n keresztül kommunikálnak. A HTTP egy protokoll, amelyet az összes webalapú alkalmazás használ. Ezért volt értelme annak biztosítása, hogy a webszolgáltatások is képesek legyenek a HTTP protokoll használatára.
  • A webszolgáltatások megfelelnek egy adott nyelvi specifikációnak. Ezt a specifikációt a W3C állítja be, amely az összes webes szabvány irányító testülete.
  • A webszolgáltatások WSDL néven ismert leírási nyelvvel rendelkeznek, amelyet a webszolgáltatás leírására használnak.

A WSDL fájl egyszerű régi XML formátumban van megírva. Az ok, hogy XML-ben van, az, hogy a fájlt bármilyen programozási nyelv olvassa.

Tehát, ha az ügyfélalkalmazást .Net-ben írták, akkor megértette az XML fájlt. Hasonlóképpen, ha az ügyfélalkalmazást Java programozási nyelven írták, akkor képes lenne értelmezni a WSDL fájlt is.

A WSDL fájl köti össze mindent. A fenti ábra alapján láthatja, hogy web szolgáltatást hozhat létre a .Net nyelven.

Tehát itt valósul meg a szolgáltatás. Ha nem rendelkezik a WSDL fájllal, és azt szeretné, ha egy Java osztály fogyasztaná a webszolgáltatást, ennek eléréséhez sok kódolási erőfeszítésre van szükség.

De most az XML formátumú WSDL fájl segítségével, amelyet bármely programozási nyelv megérthet, most már könnyedén megkaphatja a Java osztályt a .Net webszolgáltatás használatával. Ennélfogva a kódolási erőfeszítések nagysága jelentősen csökken.

WSDL üzenetrész

A WSDL egy "üzenetek" nevű szakaszból áll, amelyet az <üzenet> elem jelöl .

Ezt az elemet alapvetően a webszolgáltatás és az ügyfélalkalmazás között kicserélt adatok leírására használják.

Minden webszolgáltatásnak mindig kétféle üzenete lesz,

  • Az egyik a webszolgáltatás bevitelére szolgál, a másik a webszolgáltatás kimenetére.
  • A bemenet a webszolgáltatás által elfogadott paraméterek leírására szolgál. Ez az ügyfélalkalmazás fontos szempontja, hogy ismerje a webszolgáltatáshoz paraméterként küldendő értékeket.
  • A másik típusú üzenet a kimeneti üzenet, amely megmondja, milyen eredményeket nyújt a webszolgáltatás.

Minden üzenetnek lesz egy eleme, amelyet a bemeneti és kimeneti üzenet által használt paraméter leírására használnak.

Az alábbiakban bemutatunk egy egyszerű példát arra, hogyan néz ki egy webszolgáltatáshoz tartozó üzenet. A webszolgáltatás funkciója az, hogy megadja a "bemutató" nevét, amint egy "oktatóanyag azonosítót" paraméterként elküld a webszolgáltatáshoz.

  1. Amint láthatjuk, a webszolgáltatásnak 2 üzenete van, az egyik a bemenethez, a másik a kimenethez.
  2. A bemeneti üzenet TutorialNameRequest néven ismert, amelynek egy TutorialID nevű paramétere van. Ez a paraméter típusszáma, amelyet az xsd: szám típus ad meg
  3. A kimeneti üzenet TutorialNameResponse néven ismert, amelynek egy TutorialName nevű paramétere van. Ez a paraméter az xsd: string típus által megadott karakterlánc típusú

Port típusú kötés

A portok a WSDL-ben egy teljes művelet meghatározására szolgálnak, amelyet a webszolgáltatás kínál.

Az előző témában láttuk, hogy webszolgáltatásunk 2 üzenetet adott, az egyiket a "TutorialNameRequest" nevű bemenethez, a másikat pedig a "TutorialNameResponse" nevű kimenethez. A bemeneti és kimeneti űrlap együtt egy teljes műveletként ismert.

A WSDL egy nevű elemet tartalmaz, amely a webszolgáltatás által biztosított mûveletek meghatározására szolgál.

Tehát a fenti példánkban a következőket jegyezhetjük meg:

  1. A műveletet befogadó porttípus neve "Tutorial_PortType".
  2. Maga a művelet "Tutorial" nevet kap. Tehát a műveletünk alapvetően egy TutorialName-t biztosít, ha a TutorialID-t adja meg bemeneti paraméterként.
  3. Következik a 2 üzenetünk, az egyik a bemenethez, a másik a kimenethez, amely a működésünket alkotja

A elem mellett van egy elem is, amely meghatározza az üzenetek továbbításának módját.

  1. A fenti példa azt mutatja, hogy a kötés egy kötési névből áll, amelyet esetünkben "TutorialSoapBinding" néven kapunk. Az egyszerű megkötés az az információ, amelyet az ügyfélalkalmazás felhasznál, hogy ténylegesen bekapcsolódjon a webszolgáltatásba. Miután ténylegesen kapcsolódik a webszolgáltatáshoz, képes meghívni a webszolgáltatás által kitett különféle műveleteket.
  2. A szállítási réteg http: // néven van megadva, ami azt jelenti, hogy az üzenetek átkerülnek a HTTP protokollon.

WSDL fájl létrehozása

A WSDL fájl akkor jön létre, amikor egy webszolgáltatást bármilyen programozási nyelvre építenek.

Mivel a WSDL fájlt egyszerű bonyolultan lehet előállítani, minden szerkesztő, például a Visual Studio for .Net és az Eclipse for Java automatikusan létrehozza a WSDL fájlt.

Az alábbiakban bemutatunk egy példát a Visual Studio alkalmazásban létrehozott WSDL fájlra.




TutorialService

A fenti WSDL fájl minden felhasználó számára nagyon megfélemlítőnek tűnik, a következő részekben részletesen bemutatjuk a különböző részeket, de most nézzünk meg összefoglalót arról, hogy a WSDL fájl egyes szakaszai mit csinálnak valójában

A webszolgáltatás példájának közzététele

Most nézzünk meg egy példát arra, hogyan tehetünk közzé egy webszolgáltatást és hogyan használhatjuk fel azt a Visual Studio használatával.

Ebben a példában létrehozunk egy webszolgáltatást egy WebMethod használatával. Ez a módszer elfogadja a "TutorialID" nevű Integer paramétert. A webes módszer ezután egy "Web Services" nevű karakterláncot ad vissza.

Ezután létrehozunk egy konzol alapú alkalmazást, amely felhasználja ezt a webszolgáltatást, és ennek megfelelően hívja meg webes módszerünket.

Nézzük meg a példa végrehajtásához szükséges lépéseket.

1. lépés: Az első lépés a webszolgáltatás létrehozása. Az Asp.Net webprojekt és webszolgáltatás létrehozásának részletes lépéseit itt ismertettük; Kérjük, kövesse ugyanazokat a lépéseket a projekt és a webszolgáltatás megfelelő létrehozásához. A legfontosabb rész az alábbi kód beírása a webszolgáltatások fájlba.

namespace webservic asmx{[WebService(Name = "Guru99 Web service")]public class TutorialService : System.Web.Services.WebService{[WebMethod]public string GetTutorialService(int TutoriallD){string TutorialName = "Web Services";return TutorialName;}}}

Kód Magyarázat:

  1. Itt létrehozunk egy "Guru99WebService" nevű webmódszert. Ebben a webes módszerben egy egész paramétert adunk meg, amelyet át kell adni, amikor ezt a webes módszert meghívják.
  2. Ezután meghatározzuk a "TutorialName" nevű változót, amely megtartja a "Web Services" karakterlánc értékét. Ez az érték adódik vissza, amikor a webszolgáltatást hívják.

2. lépés: Miután meghatároztuk a webszolgáltatások fájlt, a következő lépés egy kliens projekt létrehozása, amely ezt a webszolgáltatást elfogyasztja.

Hozzunk létre egy egyszerű konzolalkalmazást, amely felhívja ezt a webszolgáltatást, meghívja a "Guru99WebService" szolgáltatást, majd megjeleníti a webes módszer kimenetét a konzol napló képernyőjén. Konzolalkalmazás létrehozásához kövesse az alábbi lépéseket.

Kattintson a jobb gombbal a Visual Studio megoldásfájljára, és válassza az Add-> New project lehetőséget

3. lépés) Ebben a lépésben

  1. Először válassza a Visual C # Windows opciót. Ezután válassza ki a konzolalkalmazás létrehozásának lehetőségét.
  2. Adjon nevet a projektjének, amelyet esetünkben "DemoApplication" néven kaptak.

Miután rákattintott az OK gombra a fenti képernyőn, láthatja a projektet a Visual Studio Solution explorer programjában.

4. lépés) Ebben a lépésben a DemoApplication Console alkalmazást indítási projektként állítja be. Ez annak biztosítására szolgál, hogy ez az alkalmazás induljon el először a teljes Visual Studio projekt futtatásakor. Ez a Console alkalmazás viszont felhívja a webszolgáltatást, amelyet a Visual Studio automatikusan elindít.

A lépés végrehajtásához kattintson a jobb gombbal a DemoApplication projektre, és válassza a "Beállítás StartUp projektként" lehetőséget.

5. lépés) A következő lépés a "Guru99Webservice" szolgáltatás referenciájának hozzáadása a konzolalkalmazáshoz. Ez azért történik, hogy a DemoApplication hivatkozhasson a webszolgáltatásra és a webszolgáltatás összes webes módszerére.

Ehhez kattintson a jobb gombbal a DemoApplication projektfájlra, és válassza az Add-> Service Reference menüpontot.

6. lépés) Ebben a lépésben megadjuk azokat a különböző értékeket, amelyek szükségesek a szolgáltatási referenciánk hozzáadásához

  1. Először ki kell választanunk a felfedezés lehetőségét. Ez az opció automatikusan felveszi a WSDL fájlt a TutorialService webszolgáltatásunkhoz.
  2. Ezután meg kell adnunk egy nevet a szolgáltatás referenciájához. Esetünkben Guru99Webservice nevet adunk neki.
  3. Ezután ki kell terjesztenünk a TutorialService.asmx opciót, hogy a jobb oldalon láthassuk a „GetTutorialService” módszert. Itt a TutorialService.asmx a Visual Studio .Net fájlunk neve, amely webszolgáltatásunk kódját tartalmazza.
  4. Ezután meglátjuk a "GetTutorialService" néven ismert webes szolgáltatásunkban meglévő webes módszerünket.

Amikor rákattintunk az „OK” gombra, a webszolgáltatás eléréséhez szükséges összes kód hozzáadódik a DemoApplication Console alkalmazásunkhoz, az alábbiak szerint.

A képernyőképen látható, hogy a "Guru99Webservice" sikeresen hozzáadódott a konzolos alkalmazásunkhoz.

7. lépés: A következő lépés a kód hozzáadása a konzolalkalmazáshoz, hogy hozzáférhessen a webes módszerhez a webszolgáltatásunkban. Nyissa meg a konzolalkalmazással automatikusan érkező Program.cs kódfájlt, és adja hozzá az alábbi kódot

namespace DemoApplication{class Program{static void Main(string[ ] args){var client = new Guru99Webservice.Guru99WebserviceSoapClient();Console.WriteLine(client.GetTutorialService(l));Console.ReadKey();}}}

Kód Magyarázat: -

  1. Az első rész a Program.cs fájl kiválasztása. Ez a fő fájl, amelyet a Visual Studio hoz létre konzolalkalmazás létrehozásakor. Ezt a fájlt hajtják végre, amikor a konzolalkalmazást (esetünkben demoalkalmazást) futtatják.
  2. Ezután létrehozunk egy "kliens" nevű változót, amelyet a Szolgáltatási referenciánk egy korábbi lépésében létrehozott példányára állítunk be. Esetünkben a szolgáltatási hivatkozás a „Guru99Webservice.Guru99WebserviveSoapClient ()”
  3. Ezután a TutorialService webszolgáltatásban a "GetTutorialService" nevet kapjuk. Ne felejtsük el, hogy a GetTutorialService "módszerünk elfogad egy egész paramétert, ezért csak egy egész paramétert adunk át a webes módszernek.
  4. Ez az utolsó sor csak annak biztosítására szolgál, hogy a konzol napló képernyője aktív maradjon, hogy megtekinthessük a kimenetet. Ez a parancs csak várni fog a felhasználó valamilyen bemenetére.

Kimenet

Ha az összes fenti lépést betartja, és a DemoApplication fut, az alábbi kimenet jelenik meg.

A kimenetből egyértelműen láthatjuk, hogy a DemoApplication hívja webszolgáltatásunkat, és hogy a webszolgáltatás által visszaadott karakterlánc megjelenik a konzol naplónkban.

Összegzés

  • A WSDL teljes formája a Web Services Description Language
  • A WSDL dokumentum egy olyan dokumentum, amelyet egy webszolgáltatás leírására használnak. Ez kulcs ahhoz, hogy minden ügyfélalkalmazás megismerje a webszolgáltatás helyét. Ez lehetővé teszi az ügyfélalkalmazás számára a webszolgáltatásban elérhető módszerek megértését is.
  • A WSDL fájl nagyon megkönnyíti a webszolgáltatás egy programozási nyelven történő megvalósítását és egy másik programozási nyelvről történő meghívását.
  • A WSDL dokumentum általában üzenetből áll. Minden webes módszerhez 2 üzenet tartozik, az egyik a bemenetre, a másik a kimenetre szól. Együtt alkotnak egy műveletet.
  • Web Services Description Language (a WSDL rövidítése) fájlok általában a szerkesztőben jönnek létre, amelyet a megfelelő programozási nyelvhez használnak.
  • Láttuk, hogyan használhatunk webszolgáltatást a Visual Studio-ban. Ez megtehető egy másik projekt létrehozásával, amely egy konzolos alkalmazás. Ezután egy szolgáltatás hivatkozás hozzáadásával hozzáférhetünk a webes szolgáltatásunk webes módszereihez.