10. oktober 2002 - 14:04Der er
4 kommentarer og 1 løsning
WSDL
Jeg er kommet frem til følgende:
WSDL står for Web Services Description Language. Dette er en fil, der definere de services, som serveren stiller til rådighed samt et sæt af metoder indenfor disse services, som klient kan kalde. En WSDL-fil kan ses som en kontrakt (remote interface) mellem serveren (Web Services’en) og klienten, som ønsker denne service. Hvis en klient ønsker at sende en SOAP forspørgsel til Web Services fremsendes først en kopi af WSDL fra serveren. Klienten bruger denne information til at formatere en SOAP forespørgsel, som den sender tilbage til Web Servicen. Denne udfører den ønskede operation og sender resultatet tilbage til klienten, som et SOAP svar.
Men er dette korrekt?
Kunne man med rette ikke kalde remote interface'et en stub og WSDL et sprog, der er for .NET hvad IDL er for CORBA??
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
WSDL bruges ikke ved normale forespørgsler til en WebService. WSDL bruges hvis man f.eks. laver et program der er afhængig af en WebService. Man kan så konvertere WSDL-koden til en C#/VB-kildefil, som så indeholder den nødvendige funktionalitet for at programmet kan kommunikere med WebServicen.
Altså: WSDL bruges kun når et program skal "abonnere" på en WebService. F.eks. har Google lavet en WebService som man kan "abonnere" på i sine programmer og derved udnytte Google's funktioner (søgning osv.). Når man downloader Google API'et er der en DLL-fil, som er lavet ud fra WSDL, med hvilken man kommunikerer med Google.com.
Grunden til jeg spørger er primært fordi, at jeg har hentet gotdotnet messageboard (et gratis message board idviklet af MS). Der er et bibliotek med services, som der benyttes til applikationen (en .asmx med .cs som code-behind) Kender du til board'et? Benyttes der WSDL der eller er det det, du kalder 'normale forespørgelser'? Jeg ser ingen WSDL filer i det, som jeg har downloadet. Der er 'bare' nogle klasser, som arver fra System.Web.Services.WebService og alle metoderne begunder med [WebMethod]...Hvorfor denne arv og hvorfor denne WebMethod??
For at få fat på WSDL skal du bruge .asmx-filen med ?wsdl bagpå... Der benyttes som sagt aldrig WSDL til andet end udviklingsformål.
[WebMethod] gør at funktionen kan bruges af andre end WebServicen selv. Det er ligesom en salgs entry point, det svarer faktisk til at deklarere en funktion som public (C#) eller Shared (VB.NET), bare i en lidt større sammenhæng.
Du kan teste en WebService ved at tilgå den som en normal ASP.NET fil (.aspx), så får du en liste over alle dens metoder som du så kan prøve.
Grunden til at de arver fra WebService-klassen, er at denne bringer den basale funktionalitet der er nødvendig for at WebServices kan kommunikere. Det er ligesom med Page i normale ASP.NET-filer.
Nu er tågen ved at lette! Dog er der kun filer i eksemplet med extention xx.asmx.resx og xx.cs i biblioteket! Jeg leger videre, 1000 tak!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.