Web Services - Made Simple i Delphi 6 ...

Hvordan får vi tilgang til en web-tjeneste fra Delphi? Hvordan bruker vi SOAP komponenter i Delphi?
Du kan lære det grunnleggende programmering og lage programvare til din egen ved å sjekke ut de gode Programvarekrav Unleashed
. Hvis du vil vite hvordan du får tilgang webtjenester ved hjelp av SOAP, les videre!
Tilgang webtjenester som bruker SOAP ...
I Delphi 6, tilgang til web-tjenester ved hjelp av SOAP er gjort veldig enkelt med et komplett sett av komponenter i Web Services palett. I denne artikkelen, jeg kommer til å presentere deg et enkelt eksempel i Delphi 6 på hvordan du bruker webtjenester., En web-tjeneste er en tjeneste beregnet på å utføre en bestemt oppgave. Det kan være for eksempel å konvertere en temperatur fra Celsius til Fahrenheit etc., blir disse tjenestene basert på en språk kalt Web Services Description Language (WSDL). Det er et XML-basert språk. Du kan finne slike WSDL filer i http://www.xmethods.net. Det er mange slike web-tjenester som er tilgjengelige i det området.
Hvordan fungerer det?
For eksempel, hvis du ønsker å konvertere en temperatur fra Celsius til Fahrenheit, da vil du sannsynligvis legge inn celsius temperaturen til denne tjenesten. Nå som innspill blir fremstilt som et XML forespørsel og blir sendt til nettjenesten. Deretter webtjenesten utfører konverteringen og sender resultatet tilbake til klienten som en XML-respons. Alle disse oppgavene utføres av kunden WSDL. Dette er bare et bredt syn på sin funtionality
I denne artikkelen, jeg kommer til å bruke en web-tjeneste for å finne en bok pris på Barnes &.; Noble med ISBN-koden. Du kan finne nettjenesten på http://www.xmethods.net/detail.html?id=7.
Hvordan kan vi få tilgang til denne webtjenesten fra Dephi 6?
1. Last ned WSDL fil til din lokal stasjon. 2. Import webtjenesten i Delphi Dette er en av de nye funksjonene i Delphi 6. Klikk Ny og i dialogboksen Velg fanen WebServices og velg Web Services importør. En annen dialogboks vil komme. I det, vil det være to kategorier. I kategorien Import, klikk på Bla gjennom og velg WSDL fil lagret fra din lokale harddisk. Deretter klikker du på Generer knappen; En enhet filen vil bli opprettet med servicedetaljer
innholdet i den nyopprettede /genererte filen vil bli som dette:.
Unit BNQuoteService; grensesnittet bruker Typer, XSBuiltIns; skriver BNQuotePortType = grensesnitt (IInvokable) ['{A37458FD-F89D-4BDF-BED9-1592153A51CB}] -funksjonen getPrice (konst ISBN: WideString): Single; STDCALL; ende; implementering bruker InvokeRegistry; initialisering InvRegistry.RegisterInterface (TypeInfo (BNQuotePortType), '', ''); enden.
Nå kan vi bruke funksjon getprice
i denne enheten filen for å finne boken prisen.
Det er en ny komponent THTTPRIO under WebSevices Palette i Delphi 6. Denne komponenten vil hjelpe oss påkaller metoden for webtjenesten. Opprett en ny søknad og slippe den komponenten.
En. Still WSDLLocation, fulgte, Port eiendommer i Object Inspector.
Her er utvalget program som bruker web-tjeneste og finner boken pris. I prøveprogrammet legge denne enheten filen
BNQuotePrj.dpr program BNQuotePrj.; bruker Skjemaer, BNQuote i '.. \\ UnitFiles \\ BNQuote.pas {Form1} BNQuoteService i ".. \\ WebServicesUnitFiles \\ BNQuoteService.pas'; {$ R * res} begynne Application.Initialize; Application.CreateForm (TForm1, Form1); Application.Run; slutt. enhet BNQuote; grensesnittet bruker Windows, Meldinger, SysUtils, Varianter, kurs, grafikk, kontroller, skjemaer, Dialoger, StdCtrls, Rio, SoapHTTPClient; skriver TForm1 = klasse (TForm) HTTPRIO1: THTTPRIO; Button1: TButton; Edit1: TEdit; Label1: TLabel; Edit2: TEdit; Label2: TLabel; Button2: TButton; Prosedyren Button1Click (Sender: TObject); Prosedyren Button2Click (Sender: TObject); private {felleserklæringer} offentlig {offentlige erklæringer} slutten; Var Form1: TForm1; implementering bruker BNQuoteService; {$ R * .dfm} prosedyre TForm1.Button1Click (Sender: TObject); Var QuotePrice: Fast; begynne hvis Trim (Edit1.Text) < > '' Deretter begynne QuotePrice: = 0; QuotePrice: = (HTTPRIO1 som BNQuotePortType) .getPrice (Edit1.Text); hvis QuotePrice < > -1 Deretter Edit2.Text: = FloatToStr (QuotePrice) ellers begynne MessageDlg ('Feil ISBN-koden' + # 13 + 'Skriv inn et gyldig ISBN-koden ", mtInformation, [mbOk], 0); Button2.Click; Edit1.SetFocus; ende; ende annet begynne MessageDlg ('Skriv inn et gyldig ISBN-koden ", mtInformation, [mbOk], 0); Edit1.SetFocus; ende; end;
prosedyre TForm1.Button2Click (Sender: TObject); begynne Edit1.Clear; Edit2.Clear; Edit1.SetFocus; slutt; enden.
I prøveprogrammet jeg brukte to redigeringsbokser, to etiketter og THTTPRIO komponent.
Enjoy !!!
Takk. Magesh.