Vadnica WSDL: Jezik opisa spletnih storitev s primerom

Kazalo:

Anonim

Kaj je WSDL?

Opisni jezik spletnih storitev (WSDL) je datoteka, ki temelji na XML in v bistvu odjemalski aplikaciji pove, kaj počne spletna storitev. Datoteka WSDL se na kratko opiše, kaj počne spletna storitev, in stranki daje vse informacije, potrebne za povezavo s spletno storitvijo in uporabo vseh funkcij, ki jih ponuja spletna storitev.

V tej vadnici se bomo osredotočili na zadnjo točko, ki je najpomembnejši del spletnih storitev, to je WSDL ali jezik opisa spletnih storitev.

Datoteka WSDL se na kratko opiše, kaj počne spletna storitev, in stranki daje vse informacije, potrebne za povezavo s spletno storitvijo in uporabo vseh funkcij, ki jih ponuja spletna storitev.

V tej vadnici boste izvedeli-

  • Struktura dokumenta WSDL
  • Elementi WSDL
  • Zakaj WSDL
  • Del sporočila WSDL
  • Vezava tipa vrat
  • Ustvarjanje datoteke WSDL
  • Objava primera spletne storitve

Struktura dokumenta WSDL

Dokument WSDL se uporablja za opis spletne storitve. Ta opis je obvezen, da lahko odjemalske aplikacije razumejo, kaj spletna storitev dejansko počne.

  • Datoteka WSDL vsebuje lokacijo spletne storitve in
  • Metode, ki jih razkriva spletna storitev.

Datoteka WSDL se lahko vsakemu uporabniku zdi zelo zapletena, vendar vsebuje vse potrebne informacije, ki bi jih katere koli odjemalske aplikacije zahtevale za uporabo ustrezne spletne storitve.

Spodaj je splošna struktura datoteke WSDL

  • Definicija
  • TargetNamespace
  • Vrste podatkov
  • Sporočila
  • Tip pristanišča
  • Vezi
  • storitev

Tu je treba opozoriti na eno ključno stvar, da je definicija sporočil, ki jo posreduje protokol SOAP, dejansko definirana v dokumentu WSDL.

Dokument WSDL dejansko pove odjemalski aplikaciji, katere vrste sporočil SOAP pošlje in sprejme spletna storitev.

Z drugimi besedami, WSDL je tako kot razglednica, ki ima naslov določene lokacije. Naslov vsebuje podatke o osebi, ki je razglednico dostavila. Torej je datoteka WSDL na enak način razglednica, ki ima naslov spletne storitve, ki lahko zagotavlja vse funkcije, ki jih stranka želi.

Spodaj je diagram strukture datoteke WSDL

Struktura WSDL

Elementi WSDL

Datoteka WSDL vsebuje naslednje glavne dele

  1. Oznaka se uporablja za določanje vseh zapletenih podatkovnih tipov, ki bodo uporabljeni v sporočilu, ki si ga izmenjata odjemalska aplikacija in spletna storitev. To je pomemben vidik odjemalske aplikacije, kajti če spletna storitev deluje s kompleksnim podatkovnim tipom, bi odjemalska aplikacija morala vedeti, kako obdelati zapleten podatkovni tip. Podatkovni tipi, kot so float, številke in nizi, so preprosti podatkovni tipi, vendar lahko obstajajo strukturirani podatkovni tipi, ki jih lahko ponuja spletna storitev.

    Na primer, lahko obstaja podatkovni tip, imenovan EmployeeDataType, ki ima lahko dva elementa, imenovana "EmployeeName" tipa string in "EmployeeID" številke tipa ali celo število. Skupaj tvorijo podatkovno strukturo, ki nato postane zapleten podatkovni tip.

  2. Oznaka se uporablja za določanje sporočila, ki se izmenjuje med odjemalsko aplikacijo in spletnim strežnikom. Ta sporočila bodo razložila vhodne in izhodne operacije, ki jih lahko izvede spletna storitev. Primer sporočila je lahko sporočilo, ki sprejme EmployeeID zaposlenega, izhodno sporočilo pa je lahko ime zaposlenega na podlagi navedenega EmpoyeeID-a.

  3. Oznaka se uporablja za vključitev vsakega vhodnega in izhodnega sporočila v eno logično operacijo. Torej bi lahko prišlo do operacije, imenovane "GetEfficiee", ki združuje vhodno sporočilo o sprejetju EmployeeID iz odjemalske aplikacije in nato pošiljanju EmployeeName kot izhodnega sporočila.

  4. Oznaka se uporablja za vezavo operacije na določeno vrsto vrat. To je tako, da ko odjemalska aplikacija pokliče ustrezen tip vrat, lahko nato dostopa do operacij, ki so vezane na to vrsto vrat. Vrste vrat so podobne vmesnikom. Torej, če mora odjemalska aplikacija uporabljati spletno storitev, mora uporabiti zavezujoče informacije, da se lahko poveže z vmesnikom, ki ga ponuja ta spletna storitev.

  5. Oznaka je ime, ki ga dobi sama spletna storitev. Ko odjemalska aplikacija najprej pokliče spletno storitev, to stori tako, da pokliče ime spletne storitve. Spletna storitev je lahko na primer na naslovu, kot je http: //localhost/Guru99/Tutorial.asmx . Oznaka storitve bo dejansko imela URL, definiran kot http: //localhost/Guru99/Tutorial.asmx , ki bo odjemalski aplikaciji dejansko sporočil, da je na tem mestu na voljo spletna storitev.

Zakaj WSDL

Spletna storitev je pomembna komponenta pri izdelavi sodobnih spletnih aplikacij. Njihov glavni namen je omogočiti več aplikacij, ki temeljijo na različnih programskih jezikih, da se med seboj pogovarjajo. Spletno aplikacijo .Net lahko na primer pogovorimo z aplikacijo Java prek spletne storitve.

Spletna storitev ima naslednje ključne lastnosti

  • Zgrajena je z uporabo programskega jezika XML. Skoraj vse sodobne tehnologije, kot sta .Net in Java, imajo ustrezne ukaze, ki lahko delujejo z XML. Zato je bil XML izbran kot najprimernejši jezik za izdelavo spletnih storitev.
  • Spletne storitve komunicirajo prek HTTP. HTTP je protokol, ki ga uporabljajo vse spletne aplikacije. Zato je bilo smiselno zagotoviti, da imajo tudi spletne storitve možnost delati prek protokola HTTP.
  • Spletne storitve ustrezajo določeni jezikovni specifikaciji. To specifikacijo določa W3C, ki je organ upravljanja za vse spletne standarde.
  • Spletne storitve imajo opisni jezik, znan kot WSDL, ki se uporablja za opis spletne storitve.

Datoteka WSDL je zapisana v navadnem starem XML. Razlog, da je v XML, je, da datoteko lahko bere kateri koli programski jezik.

Če bi bila odjemalska aplikacija napisana v .Net, bi razumela datoteko XML. Podobno, če bi bila odjemalska aplikacija napisana v programskem jeziku Java, bi tudi lahko razlagala datoteko WSDL.

Datoteka WSDL je tista, ki veže vse skupaj. Iz zgornjega diagrama lahko vidite, da lahko ustvarite spletno storitev v jeziku .Net.

Tu se torej storitev začne izvajati. Če niste imeli datoteke WSDL in ste želeli, da razred Java uporablja spletno storitev, boste za to potrebovali veliko kodiranja.

Zdaj pa z datoteko WSDL, ki je v XML, ki jo lahko razume kateri koli programski jezik, lahko zdaj razred Java preprosto porabi spletno storitev .Net. Zato se obseg kodiranja močno zmanjša.

Del sporočila WSDL

WSDL je sestavljen iz odseka, imenovanega "sporočila", ki je označen z elementom .

Ta element se v osnovi uporablja za opis podatkov, ki se izmenjujejo med spletno storitvijo in odjemalsko aplikacijo.

Vsaka spletna storitev bo vedno imela dve vrsti sporočil,

  • Ena je za vnos spletne storitve, druga pa za izhod spletne storitve.
  • Vhodni podatki se uporabljajo za opis parametrov, ki jih sprejme spletna storitev. To je pomemben vidik odjemalske aplikacije, tako da pozna vrednosti, ki jih je treba poslati kot parametre v spletno storitev.
  • Druga vrsta sporočila je izhodno sporočilo, ki pove, katere rezultate ponuja spletna storitev.

Vsako sporočilo bo imelo element , ki se uporablja za opis parametra, ki ga uporabljata vhodno in izhodno sporočilo.

Spodaj je preprost primer, kako izgleda sporočilo za spletno storitev. Funkcionalnost spletne storitve je zagotoviti ime "Vadnice", ko je "Vadnica ID" predložena kot parameter spletni storitvi.

  1. Kot lahko vidimo, ima spletna storitev dve sporočili, eno za vhod in drugo za izhod.
  2. Vhodno sporočilo je znano kot TutorialNameRequest, ki ima en parameter, imenovan TutorialID. Ta parameter je številke tipa, ki jo določa tip xsd: number
  3. Izhodno sporočilo je znano kot TutorialNameResponse, ki ima en parameter, imenovan TutorialName. Ta parameter je tipa string, ki ga določa vrsta xsd: string

Vezava tipa vrat

Vrata se v WSDL uporabljajo za določitev celotne operacije, ki jo ponuja spletna storitev.

V prejšnji temi smo videli, da je naša spletna storitev zagotovila dve sporočili, eno za vhod, imenovano "TutorialNameRequest", in drugo za izhod, imenovano "TutorialNameResponse." Skupaj je vhodna in izhodna oblika sporočila znana kot ena popolna operacija.

WSDL ponuja element, imenovan , ki se uporablja za določanje operacij, ki jih zagotavlja spletna storitev.

Torej v zgornjem primeru lahko opazimo naslednje:

  1. Ime tipa vrat, ki vključuje operacijo, je podano kot "Tutorial_PortType."
  2. Sama operacija dobi ime "Vadnica". Torej naša operacija v bistvu zagotavlja TutorialName, če je TutorialID podan kot vhodni parameter.
  3. Nato sta naši dve sporočili, eno za vhod in drugo za izhod, ki tvori naše delovanje

Poleg elementa obstaja tudi element , ki se uporablja za določanje načina prenosa sporočil.

  1. Zgornji primer kaže, da je vezava sestavljena iz imena vezave, ki je v našem primeru podano kot "TutorialSoapBinding". Preprosta vezava je informacija, ki jo odjemalska aplikacija dejansko veže na spletno storitev. Ko je dejansko vezan na spletno storitev, lahko nato pokliče različne operacije, ki so izpostavljene spletni storitvi.
  2. Transportni sloj je podan kot http: //, kar pomeni, da se sporočila, ki se prenašajo prek protokola HTTP.

Ustvarjanje datoteke WSDL

Datoteka WSDL se ustvari vsakič, ko je spletna storitev zgrajena v katerem koli programskem jeziku.

Ker je datoteko WSDL precej zapleteno ustvarjati iz nič, vsi urejevalniki, kot sta Visual Studio za .Net in Eclipse za Java, samodejno ustvarijo datoteko WSDL.

Spodaj je primer datoteke WSDL, ustvarjene v Visual Studio.




TutorialService

Zgornja datoteka WSDL se vsakemu uporabniku zdi zelo zastrašujoča, različne dele bomo podrobno zajeli v naslednjih vajah, za zdaj pa si oglejmo povzetek, kaj dejansko počne vsak odsek datoteke WSDL

Objava primera spletne storitve

Zdaj pa si oglejmo primer, kako lahko objavimo spletno storitev in jo porabimo z uporabo Visual Studio.

V tem primeru bomo ustvarili spletno storitev z eno WebMethod. Ta metoda bo sprejela celoštevilski parameter, imenovan "TutorialID". Spletna metoda bo nato vrnila niz, imenovan »Spletne storitve«.

Nato bomo ustvarili konzolo, ki bo uporabljala to spletno storitev in ustrezno poklicala našo spletno metodo.

Oglejmo si korake, potrebne za izvedbo tega primera.

Korak 1) Prvi korak je ustvariti svojo spletno storitev. Tu so razloženi podrobni koraki, kako nastajajo spletni projekt Asp.Net in spletna storitev; Upoštevajte iste korake, da ustrezno ustvarite projekt in spletno storitev. Ključni del je vnos spodnje kode v datoteko spletnih storitev.

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;}}}

Razlaga kode:

  1. Tu ustvarjamo spletno metodo, imenovano "Guru99WebService." V to spletno metodo vključujemo celoštevilčni parameter, ki ga je treba posredovati vsakič, ko se ta spletna metoda pokliče.
  2. Nato definiramo spremenljivko, imenovano "TutorialName", ki bo vsebovala vrednost niza "Web Services". To je vrednost, ki se vrne, ko pokličete spletno storitev.

Korak 2) Ko definiramo datoteko spletnih storitev, je naslednji korak ustvariti odjemalski projekt, ki bo porabil to spletno storitev.

Ustvarimo preprosto konzolno aplikacijo, ki bo poklicala to spletno storitev, poklicala "Guru99WebService" in nato prikazala rezultat spletne metode na zaslonu dnevnika konzole. Sledite spodnjim korakom, da ustvarite konzolo.

Z desno miškino tipko kliknite datoteko rešitve Visual Studio in izberite možnost Dodaj-> Nov projekt

Korak 3) V tem koraku

  1. Najprej izberite možnost Visual C # Windows. Nato izberite možnost ustvarjanja aplikacije za konzolo.
  2. Navedite ime za svoj projekt, ki je bil v našem primeru podan kot "DemoApplication."

Ko na zgornjem zaslonu kliknete gumb V redu, boste lahko videli projekt v raziskovalcu rešitev v Visual Studio.

Korak 4) V tem koraku kot zagonski projekt nastavljate aplikacijo DemoApplication Console. To se naredi za zagotovitev, da se ta aplikacija najprej zažene, ko se zažene celoten projekt Visual Studio. Ta aplikacija Console bo nato poklicala spletno storitev, ki jo bo Visual Studio samodejno zagnal.

Za dokončanje tega koraka z desno miškino tipko kliknite projekt DemoApplication in izberite možnost »Nastavi kot zagon projekta«.

Korak 5) Naslednji korak je, da v našo konzolo dodate sklic na storitev »Guru99Webservice«. To se naredi tako, da se DemoApplication lahko sklicuje na spletno storitev in vse spletne metode v spletni storitvi.

Če želite to narediti, z desno miškino tipko kliknite datoteko projekta DemoApplication in izberite menijsko možnost Dodaj-> Referenca storitve.

Korak 6) V tem koraku bomo navedli različne vrednosti, ki so potrebne za dodajanje našega sklica na storitev

  1. Najprej moramo izbrati svojo možnost odkrivanja. Ta možnost samodejno prevzame datoteko WSDL za našo spletno storitev TutorialService.
  2. Nato bi morali dati ime za referenco naše storitve. V našem primeru mu damo ime Guru99Webservice.
  3. Nato moramo razširiti možnost TutorialService.asmx, da bomo lahko videli metodo 'GetTutorialService' na desni strani. Tu je TutorialService.asmx ime naše datoteke Visual Studio .Net, ki vsebuje kodo naše spletne storitve.
  4. Nato bomo videli našo spletno metodo, ki smo jo imeli v naši spletni storitvi, imenovani "GetTutorialService"

Ko kliknemo gumb »V redu«, bo vsa potrebna koda za dostop do te spletne storitve dodana v našo aplikacijo DemoApplication Console, kot je prikazano spodaj.

Posnetek zaslona prikazuje, da je bila "Guru99Webservice" uspešno dodana v našo konzolo.

Korak 7) Naslednji korak je dodati kodo v našo konzolo za dostop do spletne metode v naši spletni storitvi. Odprite kodno datoteko Program.cs, ki se samodejno priloži konzoli, in dodajte spodnjo kodo

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

Pojasnilo kode: -

  1. Prvi del je izbira datoteke Program.cs. To je glavna datoteka, ki jo ustvari Visual Studio, ko se ustvari konzola. Ta datoteka je tista, ki se zažene, ko se zažene aplikacija konzole (v našem primeru predstavitvena aplikacija).
  2. Nato ustvarimo spremenljivko, imenovano "odjemalec", ki bo nastavljena na primerek naše reference storitve, ki je bila ustvarjena v prejšnjem koraku. V našem primeru je referenca storitve "Guru99Webservice.Guru99WebserviveSoapClient ()"
  3. Nato pokličemo našo spletno metodo 'GetTutorialService' v spletni storitvi TutorialService. Ne pozabite, da naša metoda GetTutorialService 'sprejema celoštevilčni parameter, zato samo posredujemo celoštevilčni parameter spletni metodi.
  4. Ta zadnja vrstica samo zagotavlja, da zaslon dnevnika konzole ostane aktiven, da si lahko ogledamo izhodne podatke. Ta ukaz bo samo počakal na uporabnikov vnos.

Izhod

Ko se izvedejo vsi zgornji koraki in se zažene DemoApplication, se prikaže spodnji izhod.

Iz izhoda lahko jasno vidimo, da DemoApplication pokliče našo spletno storitev in da je niz, ki ga vrne spletna storitev, prikazan v našem dnevniku konzole.

Povzetek

  • Celotna oblika WSDL je jezik za opis spletnih storitev
  • Dokument WSDL je dokument, ki se uporablja za opis spletne storitve. To je ključno za katero koli odjemalsko aplikacijo, da ve, kje se nahaja spletna storitev. Odjemalski aplikaciji omogoča tudi razumevanje metod, ki so na voljo v spletni storitvi.
  • Datoteka WSDL zelo olajša izvajanje spletne storitve v enem programskem jeziku in klicanje iz drugega programskega jezika.
  • Dokument WSDL je običajno sestavljen iz sporočila. Za vsako spletno metodo sta na voljo 2 sporočili, eno je za vhod in drugo za izhod. Skupaj tvorijo operacijo.
  • Datoteke z jezikom spletnih storitev (kratica WSDL) se običajno ustvarijo v urejevalniku, ki se uporablja za ustrezen programski jezik.
  • Videli smo, kako lahko uporabljamo spletno storitev v Visual Studio. To lahko storite z ustvarjanjem drugega projekta, ki je konzola. Nato z dodajanjem sklica na storitev lahko nato dostopamo do spletnih metod v naši spletni storitvi.