WSDL apmācība: tīmekļa pakalpojumu apraksta valoda ar piemēru

Satura rādītājs:

Anonim

Kas ir WSDL?

Tīmekļa pakalpojumu apraksta valoda (WSDL) ir uz XML balstīts fails, kas klienta lietojumprogrammai būtībā norāda, ko dara tīmekļa pakalpojums. WSDL fails tiek izmantots, lai īsumā aprakstītu, ko dara tīmekļa pakalpojums, un sniedz klientam visu nepieciešamo informāciju, lai izveidotu savienojumu ar tīmekļa pakalpojumu un izmantotu visas tīmekļa pakalpojuma sniegtās funkcijas.

Šajā apmācībā mēs pievērsīsimies pēdējam punktam, kas ir vissvarīgākā tīmekļa pakalpojumu sastāvdaļa, un tas ir WSDL vai tīmekļa pakalpojumu apraksta valoda.

WSDL fails tiek izmantots, lai īsumā aprakstītu, ko dara tīmekļa pakalpojums, un sniedz klientam visu nepieciešamo informāciju, lai izveidotu savienojumu ar tīmekļa pakalpojumu un izmantotu visas tīmekļa pakalpojuma sniegtās funkcijas.

Šajā apmācībā jūs uzzināsiet

  • WSDL dokumenta struktūra
  • WSDL elementi
  • Kāpēc WSDL
  • WSDL ziņojuma daļa
  • Pieslēgvietas veida saistīšana
  • WSDL faila izveide
  • Tīmekļa pakalpojuma piemēra publicēšana

WSDL dokumenta struktūra

WSDL dokuments tiek izmantots, lai aprakstītu tīmekļa pakalpojumu. Šis apraksts ir nepieciešams, lai klienta lietojumprogrammas varētu saprast, ko tīmekļa pakalpojums patiesībā dara.

  • WSDL failā ir norādīta tīmekļa pakalpojuma atrašanās vieta un
  • Metodes, kuras atklāj tīmekļa pakalpojums.

Pats WSDL fails jebkuram lietotājam var izskatīties ļoti sarežģīts, taču tajā ir visa nepieciešamā informācija, kas jebkurai klienta lietojumprogrammai būtu nepieciešama, lai izmantotu attiecīgo tīmekļa pakalpojumu.

Zemāk ir WSDL faila vispārējā struktūra

  • Definīcija
  • TargetNamespace
  • DataTypes
  • Ziņojumi
  • Porttype
  • Iesiešana
  • apkalpošana

Viena galvenā lieta, kas šeit jāņem vērā, ir tā, ka ziņojumu definīcija, kas tiek nodota ar SOAP protokolu, faktiski ir definēta WSDL dokumentā.

WSDL dokuments klienta lietojumprogrammai faktiski norāda, kādi ir SOAP ziņojumu veidi, kurus sūta un pieņem Web serviss.

Citiem vārdiem sakot, WSDL ir gluži kā pastkarte, kurai ir noteiktas vietas adrese. Adrese sniedz ziņas par personu, kura piegādāja pastkarti. Tādējādi tādā pašā veidā WSDL fails ir pastkarte, kurai ir tīmekļa pakalpojuma adrese, kas var nodrošināt visas klienta vēlamās funkcijas.

Zemāk ir WSDL faila struktūras diagramma

WSDL struktūra

WSDL elementi

WSDL failā ir šādas galvenās daļas

  1. tags tiek izmantots, lai noteiktu visas sarežģītus datatypes, kas tiks izmantoti ziņu apmaiņa starp klienta pieteikumu un tīmekļa pakalpojumu. Tas ir svarīgs klienta lietojumprogrammas aspekts, jo, ja tīmekļa pakalpojums darbojas ar sarežģītu datu tipu, tad klienta lietojumprogrammai būtu jāzina, kā apstrādāt sarežģīto datu tipu. Datu tipi, piemēram, pludiņš, skaitļi un virknes, ir visi vienkārši datu tipi, taču varētu būt strukturēti datu tipi, kurus var nodrošināt tīmekļa pakalpojums.

    Piemēram, varētu būt datu tips ar nosaukumu EmployeeDataType, kuram varētu būt 2 elementi, ko sauc par “EmployeeName” ar tipa virkni un “EmployeeID” ar tipa numuru vai veselu skaitli. Viņi kopā veido datu struktūru, kas pēc tam kļūst par sarežģītu datu tipu.

  2. tags tiek izmantots, lai noteiktu vēstījumu, kas tiek apmainīti starp klienta pieteikumu un tīmekļa serveri. Šie ziņojumi paskaidros ievades un izvades darbības, kuras var veikt tīmekļa pakalpojums. Ziņojuma piemērs var būt ziņojums, kas pieņem darbinieka EmployeeID, un izvades ziņojums var būt darbinieka vārds, pamatojoties uz norādīto EmpoyeeID.

  3. tags tiek izmantots iekapsulēt katru ieejas un izejas ziņu vienā loģiskā darbību. Tātad varētu būt operācija ar nosaukumu "GetEmployee", kas apvieno ievades ziņojumu, pieņemot EmployeeID no klienta lietojumprogrammas un pēc tam nosūtot EmployeeName kā izvades ziņojumu.

  4. tags tiek izmantots saistās darbību ar konkrētu ostas veidam. Tas ir tāpēc, ka, klienta lietojumprogrammai izsaucot attiecīgo porta tipu, tā varēs piekļūt operācijām, kas saistītas ar šo porta tipu. Ostu veidi ir gluži kā saskarnes. Tātad, ja klienta lietojumprogrammai ir jāizmanto tīmekļa pakalpojums, viņiem jāizmanto saistošā informācija, lai nodrošinātu, ka viņi var izveidot savienojumu ar šī tīmekļa pakalpojuma nodrošināto saskarni.

  5. tags ir nosaukums, kas dots tīmekļa pakalpojumu pati. Sākotnēji, klienta lietojumprogrammai piezvanot uz tīmekļa pakalpojumu, tas tiks darīts, izsaucot tīmekļa pakalpojuma nosaukumu. Piemēram, tīmekļa pakalpojums var atrasties uz adresi, piemēram, http: //localhost/Guru99/Tutorial.asmx . Pakalpojuma tagam URL faktiski būs definēts kā http: //localhost/Guru99/Tutorial.asmx , kas klienta lietojumprogrammai faktiski pateiks, ka šajā vietā ir pieejams tīmekļa pakalpojums.

Kāpēc WSDL

Tīmekļa pakalpojums ir svarīga sastāvdaļa mūsdienu tīmekļa lietojumprogrammu veidošanā. To galvenais mērķis ir ļaut vairākām lietojumprogrammām, kas veidotas uz dažādām programmēšanas valodām, sarunāties savā starpā. Piemēram, mums var būt .Net tīmekļa lietojumprogrammas sarunas ar Java lietojumprogrammu, izmantojot tīmekļa pakalpojumu.

Tīmekļa pakalpojumam ir šādas galvenās funkcijas

  • Tas ir veidots, izmantojot XML programmēšanas valodu. Gandrīz visām mūsdienu tehnoloģijām, piemēram, .Net un Java, ir atbilstošas ​​komandas, kurām ir iespēja strādāt ar XML. Tādējādi XML tika uzskatīts par vispiemērotāko valodu tīmekļa pakalpojumu veidošanai.
  • Tīmekļa pakalpojumi sazinās, izmantojot HTTP. HTTP ir protokols, ko izmanto visas tīmekļa lietojumprogrammas. Tādējādi bija jēga nodrošināt, ka tīmekļa pakalpojumiem ir arī iespēja strādāt ar HTTP protokolu.
  • Tīmekļa pakalpojumi atbilst noteiktai valodas specifikācijai. Šo specifikāciju nosaka W3C, kas ir visu tīmekļa standartu pārvaldes institūcija.
  • Tīmekļa pakalpojumiem ir aprakstīšanas valoda, kas pazīstama kā WSDL, ko izmanto, lai aprakstītu tīmekļa pakalpojumu.

WSDL fails ir rakstīts vienkāršā vecajā XML. Iemesls tam, ka tas ir XML, ir tāds, ka failu var nolasīt jebkura programmēšanas valoda.

Tātad, ja klienta lietojumprogramma būtu rakstīta .net, tā saprastu XML failu. Līdzīgi, ja klienta lietojumprogramma būtu rakstīta Java programmēšanas valodā, tā arī spētu interpretēt WSDL failu.

WSDL fails ir tas, kas visu sasaista. No iepriekš minētās diagrammas var redzēt, ka varat izveidot tīmekļa pakalpojumu .Net valodā.

Tātad šeit tiek ieviests pakalpojums. Ja jums nebija WSDL faila un vēlaties, lai Java klase patērētu tīmekļa pakalpojumu, lai to panāktu, jums būs jāpieliek daudz kodēšanas.

Bet tagad ar WSDL failu, kas atrodas XML formātā un ko var saprast jebkura programmēšanas valoda, jūs tagad varat viegli likt Java klasei izmantot. Tādējādi kodēšanas intensitāte tiek ievērojami samazināta.

WSDL ziņojuma daļa

WSDL sastāv no sadaļas ar nosaukumu "ziņojumi", ko apzīmē ar elementu .

Šis elements galvenokārt tiek izmantots, lai aprakstītu datus, ar kuriem apmainās starp tīmekļa pakalpojumu un klienta lietojumprogrammu.

Katrā tīmekļa pakalpojumā vienmēr būs 2 veidu ziņojumi,

  • Viens ir paredzēts tīmekļa pakalpojuma ievadei, bet otrs ir paredzēts tīmekļa pakalpojuma izvadei.
  • Ievads tiek izmantots, lai aprakstītu parametrus, kurus pieņem tīmekļa pakalpojums. Tas ir svarīgs klienta lietojumprogrammas aspekts, lai tā zinātu vērtības, kas jānosūta kā parametri tīmekļa pakalpojumam.
  • Otrs ziņojumu veids ir izvades ziņojums, kas norāda, kādus rezultātus nodrošina tīmekļa pakalpojums.

Katram ziņojumam savukārt būs elements , kas tiek izmantots, lai aprakstītu parametru, ko izmanto ievades un izvades ziņojums.

Zemāk ir vienkāršs piemērs tam, kā izskatās tīmekļa pakalpojuma ziņojums. Tīmekļa pakalpojuma funkcionalitāte ir norādīt "Pamācības" nosaukumu, tiklīdz tīmekļa pakalpojumam kā parametrs ir iesniegts "Pamācības ID".

  1. Kā redzam, tīmekļa pakalpojumam ir 2 ziņojumi, viens ievadei un otrs izvadei.
  2. Ievades ziņojums ir pazīstams kā TutorialNameRequest, kuram ir viens parametrs ar nosaukumu TutorialID. Šis parametrs ir tipa numura, kuru norāda xsd: skaitļa tips
  3. Izejas ziņojums ir pazīstams kā TutorialNameResponse, kuram ir viens parametrs ar nosaukumu TutorialName. Šis parametrs ir tipa virkne, kuru norāda xsd: virknes tips

Pieslēgvietas veida saistīšana

Ostas tiek izmantotas WSDL, lai noteiktu vienu pilnīgu darbību, ko piedāvā tīmekļa pakalpojums.

Iepriekšējā tēmā mēs redzējām, ka mūsu tīmekļa pakalpojums sniedza 2 ziņojumus, vienu ievadei ar nosaukumu "TutorialNameRequest" un otru izvadam ar nosaukumu "TutorialNameResponse". Ievades un izvades ziņojuma forma kopā ir pazīstama kā viena pilnīga darbība.

WSDL nodrošina elementu ar nosaukumu , kas tiek izmantots, lai definētu tīmekļa pakalpojuma sniegtās darbības.

Tātad mūsu iepriekš minētajā piemērā mēs varam atzīmēt sekojošo:

  1. Operācijas iekapsulētā porta tipa nosaukums tiek dots kā "Tutorial_PortType".
  2. Pašai operācijai tiek piešķirts nosaukums "Pamācība". Tātad mūsu darbība pamatā nodrošina TutorialName, ja TutorialID tiek norādīts kā ievades parametrs.
  3. Nākamais ir mūsu 2 ziņojumi, viens ievadei un otrs izvadei, kas veido mūsu darbību

Papildus elementam ir arī elements , kas tiek izmantots, lai noteiktu, kā ziņojumi tiks pārsūtīti.

  1. Iepriekš minētais piemērs parāda, ka saistīšana sastāv no saistoša nosaukuma, kas mūsu gadījumā tiek dots kā "TutorialSoapBinding". Saistīšana vienkāršā izteiksmē ir informācija, kuru klienta lietojumprogramma izmanto, lai faktiski saistītos ar tīmekļa pakalpojumu. Kad tas faktiski ir saistīts ar tīmekļa pakalpojumu, tam ir iespēja izsaukt dažādas darbības, kas pakļautas tīmekļa pakalpojumam.
  2. Transporta slānis tiek norādīts kā http: //, kas nozīmē, ka ziņojumi, kas tiks pārsūtīti, izmantojot HTTP protokolu.

WSDL faila izveide

WSDL fails tiek izveidots ikreiz, kad tiek veidots tīmekļa pakalpojums jebkurā programmēšanas valodā.

Tā kā WSDL failu ir diezgan sarežģīti izveidot no nulles, visi redaktori, piemēram, Visual Studio for .Net un Eclipse for Java, automātiski izveido WSDL failu.

Zemāk ir Visual Studio izveidota WSDL faila piemērs.




TutorialService

Iepriekš minētais WSDL fails jebkuram lietotājam izskatās ļoti biedējošs, dažādās detaļās mēs detalizēti aplūkosim turpmākajās apmācībās, bet tagad apskatīsim kopsavilkumu par to, ko katra WSDL faila sadaļa faktiski dara

Tīmekļa pakalpojuma piemēra publicēšana

Tagad apskatīsim piemēru, kā mēs varam publicēt tīmekļa pakalpojumu un patērēt to, izmantojot Visual Studio.

Šajā piemērā mēs izveidosim tīmekļa pakalpojumu ar vienu WebMethod. Šī metode pieņems Integer parametru ar nosaukumu "TutorialID". Pēc tam tīmekļa metode atgriezīs virkni ar nosaukumu "Web Services".

Pēc tam mēs izveidosim uz konsoles balstītu lietojumprogrammu, kas patērēs šo tīmekļa pakalpojumu un attiecīgi izsauksim mūsu tīmekļa metodi.

Apskatīsim soļus, kas nepieciešami šī piemēra izpildei.

1. solis . Pirmais solis ir izveidot savu tīmekļa pakalpojumu. Šeit ir izskaidroti detalizēti soļi, kā tiek izveidots Asp.Net tīmekļa projekts un tīmekļa pakalpojums; Lūdzu, veiciet tās pašas darbības, lai attiecīgi izveidotu projektu un tīmekļa pakalpojumu. Galvenā daļa ir Web pakalpojumu failā ievadīt zemāk redzamo kodu.

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

Koda skaidrojums:

  1. Šeit mēs izveidojam WebMethod ar nosaukumu "Guru99WebService". Šajā tīmekļa metodē mēs iekļaujam vesela skaitļa parametru, kas jānodod ikreiz, kad tiek saukta šī tīmekļa metode.
  2. Tālāk mēs definējam mainīgo ar nosaukumu "TutorialName", kas satur virknes vērtību "Web Services". Šī ir vērtība, kas tiks atgriezta, izsaucot tīmekļa pakalpojumu.

2. solis. Kad būsim definējuši tīmekļa pakalpojumu failu, nākamais solis ir izveidot klienta projektu, kas patērēs šo tīmekļa pakalpojumu.

Izveidosim vienkāršu konsoles lietojumprogrammu, kas izsauks šo tīmekļa pakalpojumu, izsauks "Guru99WebService" un pēc tam konsoles žurnāla ekrānā parādīs tīmekļa metodes izvadi. Veiciet tālāk norādītās darbības, lai izveidotu konsoles lietojumprogrammu.

Ar peles labo pogu noklikšķiniet uz Visual Studio risinājuma faila un izvēlieties opciju Pievienot - Jauns projekts

3. solis ) Šajā solī

  1. Vispirms izvēlieties opciju Visual C # Windows. Pēc tam izvēlieties iespēju izveidot konsoles lietojumprogrammu.
  2. Piešķiriet savam projektam nosaukumu, kas mūsu gadījumā ir piešķirts kā "DemoApplication".

Pēc noklikšķināšanas uz pogas Labi iepriekš redzamajā ekrānā, jūs varēsiet redzēt projektu Visual Studio Solution explorer.

4. solis . Šajā darbībā kā startēšanas projektu iestatāt lietojumprogrammu DemoApplication Console. Tas tiek darīts, lai nodrošinātu, ka šī lietojumprogramma tiek palaista vispirms, kad tiek palaists viss Visual Studio projekts. Šī konsoles lietojumprogramma savukārt zvanīs uz tīmekļa pakalpojumu, kuru automātiski palaidīs Visual Studio.

Lai pabeigtu šo darbību, ar peles labo pogu noklikšķiniet uz projekta DemoApplication un izvēlieties opciju "Iestatīt kā StartUp projektu".

5. solis . Nākamais solis ir konsoles lietojumprogrammai pievienot mūsu "Guru99Webservice" pakalpojuma atsauci. Tas tiek darīts, lai DemoApplication varētu atsaukties uz tīmekļa pakalpojumu un visām tīmekļa pakalpojuma tīmekļa metodēm.

Lai to izdarītu, ar peles labo pogu noklikšķiniet uz projekta faila DemoApplication un izvēlieties izvēlnes opciju Pievienot-> Pakalpojuma atsauce.

6. solis . Šajā solī mēs norādīsim dažādas vērtības, kas nepieciešamas, lai pievienotu mūsu pakalpojumu atsauci

  1. Pirmkārt, mums jāizvēlas mūsu atklāšanas iespēja. Šī opcija automātiski uzņems WSDL failu mūsu TutorialService tīmekļa pakalpojumam.
  2. Tālāk mums jānorāda nosaukums mūsu pakalpojumam. Mūsu gadījumā mēs piešķiram tam nosaukumu Guru99Webservice.
  3. Tad mums jāpaplašina opcija TutorialService.asmx, lai mēs labajā pusē varētu redzēt metodi GetTutorialService. Šeit TutorialService.asmx ir mūsu Visual Studio .Net faila nosaukums, kas satur mūsu tīmekļa pakalpojuma kodu.
  4. Pēc tam mēs redzēsim mūsu tīmekļa metodi, kas mums bija mūsu tīmekļa pakalpojumā, kas pazīstams kā "GetTutorialService"

Kad mēs noklikšķināsim uz pogas Labi, viss nepieciešamais kods, lai piekļūtu šim tīmekļa pakalpojumam, tiks pievienots mūsu DemoApplication Console lietojumprogrammai, kā parādīts zemāk.

Ekrānuzņēmums parāda, ka "Guru99Webservice" tika veiksmīgi pievienots mūsu konsoles lietojumprogrammai.

7. solis . Nākamais solis ir koda pievienošana konsoles lietojumprogrammai, lai piekļūtu tīmekļa metodei mūsu tīmekļa pakalpojumā. Atveriet koda failu Program.cs, kas automātiski tiek piegādāts konsoles lietojumprogrammā, un pievienojiet zemāk esošo kodu

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

Koda skaidrojums: -

  1. Pirmā daļa ir faila Program.cs izvēle. Šis ir galvenais fails, kuru Visual Studio izveido, kad tiek izveidota konsoles lietojumprogramma. Šis fails tiek izpildīts, izpildot konsoles lietojumprogrammu (mūsu gadījumā - demonstrācijas lietojumprogrammu).
  2. Pēc tam mēs izveidojam mainīgo ar nosaukumu "klients", kas tiks iestatīts uz mūsu Pakalpojuma atsauces gadījumu, kas tika izveidots iepriekšējā solī. Mūsu gadījumā pakalpojuma atsauce ir “Guru99Webservice.Guru99WebserviveSoapClient ()”
  3. Pēc tam tīmekļa vietnē TutorialService mēs saucam par mūsu Webmethod 'GetTutorialService'. Atcerieties, ka mūsu GetTutorialService metode pieņem vesela skaitļa parametru, tāpēc mēs vienkārši nododam vesela skaitļa parametru tīmekļa metodei.
  4. Šī pēdējā līnija ir paredzēta tikai tam, lai nodrošinātu, ka konsoles žurnāla ekrāns paliek aktīvs, lai mēs varētu apskatīt izvadi. Šī komanda vienkārši gaidīs kādu lietotāja ievadi.

Rezultāts

Kad tiek izpildītas visas iepriekš minētās darbības un palaista DemoApplication, tiks parādīta zemāk redzamā izeja.

No izejas mēs skaidri redzam, ka DemoApplication izsauc mūsu tīmekļa pakalpojumu un ka Web pakalpojuma atgrieztā virkne tiek parādīta mūsu konsoles žurnālā.

Kopsavilkums

  • Pilna WSDL forma ir Web Services Description Language
  • WSDL dokuments ir dokuments, ko izmanto, lai aprakstītu tīmekļa pakalpojumu. Jebkurai klienta lietojumprogrammai ir svarīgi zināt, kur atrodas tīmekļa pakalpojums. Tas arī ļauj klienta lietojumprogrammai izprast tīmekļa pakalpojumā pieejamās metodes.
  • WSDL fails ļoti atvieglo tīmekļa pakalpojuma ieviešanu vienā programmēšanas valodā un izsaukšanu no citas programmēšanas valodas.
  • WSDL dokuments parasti sastāv no ziņojuma. Katrai tīmekļa metodei ir 2 ziņojumi, viens ir paredzēts ievadei, bet otrs - izejai. Kopā viņi veido operāciju.
  • Tīmekļa pakalpojumu apraksta valodas (apzīmē WSDL) faili parasti tiek izveidoti redaktorā, kas tiek izmantots attiecīgajai programmēšanas valodai.
  • Mēs esam redzējuši, kā mēs varam patērēt tīmekļa pakalpojumu Visual Studio. To var izdarīt, izveidojot citu projektu, kas ir konsoles lietojumprogramma. Pēc tam, pievienojot pakalpojuma atsauci, mēs varēsim piekļūt tīmekļa metodēm mūsu tīmekļa pakalpojumā.