Web-Services - in Delphi 6 leicht gemacht...


Wie zugreifen wir von Delphi einen Webdienst?
Wie verwenden wir die SOAP-Komponenten in Delphi?

Erfahren Sie die Grundlagen der Computer-Programmierung und zum Erstellen von Software eigene durch die ausgezeichnete Software Anforderungen UnleashedAuschecken. Erfahren Sie wie man mit SOAP Webdienste zugreifen, lesen Sie weiter!

Zugriff auf Webdienste, die mithilfe von SOAP...

In Delphi 6 Zugriff auf Webdienste, die mithilfe von SOAP sehr einfach mit einem kompletten Satz von Komponenten in der Palette Web Services erfolgt. In diesem Artikel werde ich Ihnen ein einfaches Beispiel in Delphi 6 wie die Webdienste nutzen zu präsentieren.

Ein Webdienst ist ein Dienst zur Durchführung einer bestimmten Aufgabe. Es könnte beispielsweise sein, konvertieren eine Temperatur von Grad Celsius in Farenheit etc., diese Dienste basieren auf einer Sprache namens Web Services Description Language(WSDL). Es ist eine XML-basierte Sprache. Sie finden solche WSDL-Dateien in https://www.xmethods.net. Es gibt viele solche Webdiensten an diesem Standort verfügbar.

Funktionsweise?

Beispielsweise wenn Sie eine Temperatur von Grad Celsius in Fahrenheit konvertieren möchten, werden dann Sie wahrscheinlich die Celsius-Temperatur an diesen Dienst eingeben. Jetzt wird diese Eingabe als eine XML-Anforderung und an den Webdienst gesendet werden vorbereitet. Dann ist der Webdienst beim Konvertieren und senden das Ergebnis an den Client als eine XML-Antwort zurück. Alle diese Aufgaben werden von der WSDL-Datei für den Client ausgeführt. Dies ist nur eine breite Sicht auf seine Funktionalität.

In diesem Artikel werde ich einen Webdienst verwenden einen Buchpreis bei Barnes & Noble mit dem ISBN Code finden. Den Webdienst finden Sie unter https://www.xmethods.net/detail.html?id=7.

Wie können wir diesen Webdienst zugreifen von Dephi 6?

1. Laden Sie die WSDL-Datei auf Ihrer lokalen Festplatte.
2. importieren Sie den Webdienst in Delphi
Dies ist eines der neuen Features von Delphi 6. Klicken Sie auf neu und wählen Sie im Dialogfeld die Registerkarte 'WebServices' und wählen Sie die Web-Services-Importeur. Ein weiteres Dialogfeld wird kommen. In diesem gibt es zwei Registerkarten. Die Registerkarte Importieren klicken Sie auf Durchsuchen und wählen Sie die WSDL-Datei von Ihrem lokalen Laufwerk gespeichert. Klicken Sie dann auf die Schaltfläche 'generieren'; Eine Einheit-Datei wird mit den Dienstdetails erstellt.

Der Inhalt der Datei neu erstellt/generiert wird wie folgt sein:

Unit BNQuoteService;
Schnittstelle
verwendet Arten, XSBuiltIns;
Typ
BNQuotePortType = Schnittstelle(IInvokable)
[{A37458FD-F89D-4BDF-BED9-1592153A51CB}]
Funktion GetPrice (const isbn: WideString): Single; StdCall;
Ende;
Umsetzung
verwendet InvokeRegistry;
Initialisierung
InvRegistry.RegisterInterface(TypeInfo(BNQuotePortType), '', '');
end.

Jetzt können wir die Funktion Getprice in dieser Einheit-Datei verwenden, um den Preis des Buches zu finden.

Es ist eine neue Komponente THTTPRIO unter der WebSevices Palette in Delphi 6. Diese Komponente hilft uns der Aufruf der Methode des Webdiensts. Erstellen einer neuen Anwendung und legen diese Komponente.

a. Legen Sie a. die WSDLLocation, Sevice, Porteigenschaften im Objektinspektor.

Hier ist die Beispielanwendung, die den Webdienst verwendet und findet den Preis des Buches. Fügen Sie diese Einheit-Datei hinzu, in der Beispielanwendung.

BNQuotePrj.dpr
Programm BNQuotePrj;
verwendet
Formen,
BNQuote in '... \UnitFiles\BNQuote.pas {Form1},
BNQuoteService in '... \WebServicesUnitFiles\BNQuoteService.pas;
{$R * res}
beginnen
Application.Initialize;
Application.CreateForm (TForm1, Form1);
Application.Run;
end.
Einheit BNQuote;
Schnittstelle
verwendet
Windows, Nachrichten, SysUtils, Varianten, Klassen, Graphics, Steuerelemente, Formulare, Dialoge, StdCtrls, Rio, SoapHTTPClient;
Typ
TForm1 = Klasse(TForm)
HTTPRIO1: THTTPRIO;
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
Button2: TButton;
Verfahren Button1Click(Sender: TObject);
Verfahren Button2Click(Sender: TObject);
Private
{Private Deklarationen}
öffentliche
{Public Deklarationen}
Ende;
var
Form1: TForm1;
Umsetzung
verwendet BNQuoteService;
{$R *.dfm}
Verfahren TForm1.Button1Click(Sender: TObject);
var
QuotePrice: Real;
beginnen
Wenn Trim(Edit1.Text) <> '' dann
beginnen
QuotePrice: = 0;
QuotePrice: = (HTTPRIO1 als BNQuotePortType).getPrice(Edit1.Text);
Wenn QuotePrice <>-1 dann
Edit2.Text: = FloatToStr(QuotePrice)
sonst
beginnen
MessageDlg ('Falsche ISBN Code' + #13 + ' geben Sie eine gültige ISBN code',mtInformation,[mbOk],0);
Button2.Click;
Edit1.SetFocus;
Ende;
Ende
sonst
beginnen
MessageDlg (' geben Sie eine gültige ISBN code',mtInformation,[mbOk],0);
Edit1.SetFocus;
Ende;
end;

Verfahren TForm1.Button2Click(Sender: TObject);
beginnen
Edit1.Clear;
Edit2.Clear;
Edit1.SetFocus;
end;
end.

In der Beispielanwendung habe ich bearbeiten zwei Boxen, zwei Bezeichnungen und die THTTPRIO-Komponente.

Genießen!!!

Vielen Dank.
Magesh.









Web-Services - in Delphi 6 leicht gemacht...


Web-Services - in Delphi 6 leicht gemacht... : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Wie zugreifen wir von Delphi einen Webdienst?
Wie verwenden wir die SOAP-Komponenten in Delphi?

Erfahren Sie die Grundlagen der Computer-Programmierung und zum Erstellen von Software eigene durch die ausgezeichnete Software Anforderungen UnleashedAuschecken. Erfahren Sie wie man mit SOAP Webdienste zugreifen, lesen Sie weiter!

Zugriff auf Webdienste, die mithilfe von SOAP...

In Delphi 6 Zugriff auf Webdienste, die mithilfe von SOAP sehr einfach mit einem kompletten Satz von Komponenten in der Palette Web Services erfolgt. In diesem Artikel werde ich Ihnen ein einfaches Beispiel in Delphi 6 wie die Webdienste nutzen zu präsentieren.

Ein Webdienst ist ein Dienst zur Durchführung einer bestimmten Aufgabe. Es könnte beispielsweise sein, konvertieren eine Temperatur von Grad Celsius in Farenheit etc., diese Dienste basieren auf einer Sprache namens Web Services Description Language(WSDL). Es ist eine XML-basierte Sprache. Sie finden solche WSDL-Dateien in https://www.xmethods.net. Es gibt viele solche Webdiensten an diesem Standort verfügbar.

Funktionsweise?

Beispielsweise wenn Sie eine Temperatur von Grad Celsius in Fahrenheit konvertieren möchten, werden dann Sie wahrscheinlich die Celsius-Temperatur an diesen Dienst eingeben. Jetzt wird diese Eingabe als eine XML-Anforderung und an den Webdienst gesendet werden vorbereitet. Dann ist der Webdienst beim Konvertieren und senden das Ergebnis an den Client als eine XML-Antwort zurück. Alle diese Aufgaben werden von der WSDL-Datei für den Client ausgeführt. Dies ist nur eine breite Sicht auf seine Funktionalität.

In diesem Artikel werde ich einen Webdienst verwenden einen Buchpreis bei Barnes & Noble mit dem ISBN Code finden. Den Webdienst finden Sie unter https://www.xmethods.net/detail.html?id=7.

Wie können wir diesen Webdienst zugreifen von Dephi 6?

1. Laden Sie die WSDL-Datei auf Ihrer lokalen Festplatte.
2. importieren Sie den Webdienst in Delphi
Dies ist eines der neuen Features von Delphi 6. Klicken Sie auf neu und wählen Sie im Dialogfeld die Registerkarte 'WebServices' und wählen Sie die Web-Services-Importeur. Ein weiteres Dialogfeld wird kommen. In diesem gibt es zwei Registerkarten. Die Registerkarte Importieren klicken Sie auf Durchsuchen und wählen Sie die WSDL-Datei von Ihrem lokalen Laufwerk gespeichert. Klicken Sie dann auf die Schaltfläche 'generieren'; Eine Einheit-Datei wird mit den Dienstdetails erstellt.

Der Inhalt der Datei neu erstellt/generiert wird wie folgt sein:

Unit BNQuoteService;
Schnittstelle
verwendet Arten, XSBuiltIns;
Typ
BNQuotePortType = Schnittstelle(IInvokable)
[{A37458FD-F89D-4BDF-BED9-1592153A51CB}]
Funktion GetPrice (const isbn: WideString): Single; StdCall;
Ende;
Umsetzung
verwendet InvokeRegistry;
Initialisierung
InvRegistry.RegisterInterface(TypeInfo(BNQuotePortType), '', '');
end.

Jetzt können wir die Funktion Getprice in dieser Einheit-Datei verwenden, um den Preis des Buches zu finden.

Es ist eine neue Komponente THTTPRIO unter der WebSevices Palette in Delphi 6. Diese Komponente hilft uns der Aufruf der Methode des Webdiensts. Erstellen einer neuen Anwendung und legen diese Komponente.

a. Legen Sie a. die WSDLLocation, Sevice, Porteigenschaften im Objektinspektor.

Hier ist die Beispielanwendung, die den Webdienst verwendet und findet den Preis des Buches. Fügen Sie diese Einheit-Datei hinzu, in der Beispielanwendung.

BNQuotePrj.dpr
Programm BNQuotePrj;
verwendet
Formen,
BNQuote in '... \UnitFiles\BNQuote.pas {Form1},
BNQuoteService in '... \WebServicesUnitFiles\BNQuoteService.pas;
{$R * res}
beginnen
Application.Initialize;
Application.CreateForm (TForm1, Form1);
Application.Run;
end.
Einheit BNQuote;
Schnittstelle
verwendet
Windows, Nachrichten, SysUtils, Varianten, Klassen, Graphics, Steuerelemente, Formulare, Dialoge, StdCtrls, Rio, SoapHTTPClient;
Typ
TForm1 = Klasse(TForm)
HTTPRIO1: THTTPRIO;
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
Button2: TButton;
Verfahren Button1Click(Sender: TObject);
Verfahren Button2Click(Sender: TObject);
Private
{Private Deklarationen}
öffentliche
{Public Deklarationen}
Ende;
var
Form1: TForm1;
Umsetzung
verwendet BNQuoteService;
{$R *.dfm}
Verfahren TForm1.Button1Click(Sender: TObject);
var
QuotePrice: Real;
beginnen
Wenn Trim(Edit1.Text) <> '' dann
beginnen
QuotePrice: = 0;
QuotePrice: = (HTTPRIO1 als BNQuotePortType).getPrice(Edit1.Text);
Wenn QuotePrice <>-1 dann
Edit2.Text: = FloatToStr(QuotePrice)
sonst
beginnen
MessageDlg ('Falsche ISBN Code' + #13 + ' geben Sie eine gültige ISBN code',mtInformation,[mbOk],0);
Button2.Click;
Edit1.SetFocus;
Ende;
Ende
sonst
beginnen
MessageDlg (' geben Sie eine gültige ISBN code',mtInformation,[mbOk],0);
Edit1.SetFocus;
Ende;
end;

Verfahren TForm1.Button2Click(Sender: TObject);
beginnen
Edit1.Clear;
Edit2.Clear;
Edit1.SetFocus;
end;
end.

In der Beispielanwendung habe ich bearbeiten zwei Boxen, zwei Bezeichnungen und die THTTPRIO-Komponente.

Genießen!!!

Vielen Dank.
Magesh.


Web-Services - in Delphi 6 leicht gemacht...

Web-Services - in Delphi 6 leicht gemacht... : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Web-Services - in Delphi 6 leicht gemacht...
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung