4D v16.3Web Service in 4D abonnieren |
||||||||||||||||||||||||||||||||||
|
4D v16.3
Web Service in 4D abonnieren
Web Service in 4D abonnieren
Mit 4D können Sie Web Services abonnieren, d.h. Sie können sie aufrufen und innerhalb Ihrer eigenen Anwendung nutzen. Über Web Services können Sie mühelos verschiedene Funktionalitäten in Ihrer Software hinzufügen, z.B. Zugriff auf Lagerhaltung, Verfolgung von Paketzustellung, Ausführung komplexer Berechnungen. Sehr viele Dienste werden im Internet über Web Services angeboten. Sie können auch Web Services abonnieren, die Sie selbst in anderen Anwendungen veröffentlicht haben. So können verschiedene 4D Datenbanken miteinander kommunizieren. Jede mit 4D erstellte Datenbank kann einen Web Service abonnieren, sie muss lediglich an ein Netzwerk bzw. an das Internet angeschlossen sein. Um einen Web Service aufrufen zu können, müssen Sie nachfolgende Schritte ausführen:
Die Proxy Methode verwaltet die Verbindung zum Web Service: Die 4D Anwendung verwendet zum Abonnieren eines Web Service den Assistenten für Web Services. Er führt automatisch folgende Schritte aus:
Um den Assistenten für Web Services zu öffnen, wählen Sie im Menü Design>Web Services Assistent. Auf dem Bildschirm erscheint folgendes Dialogfenster: Hinweis: Das Fenster erscheint auch, wenn Sie im Explorer auf der Seite Methoden am unteren Rand auf das Menü Optionen klicken. Weitere Informationen dazu finden Sie im Abschnitt ). Es ist in drei Bereiche gegliedert:
Die Schaltfläche Erkennen durchsucht die angegebene WSDL Datei und setzt die Informationen in den darunterliegenden Bereich ein. Die Hauptaufgabe des Assistenten für Web Services ist, eine WSDL Datei zu analysieren und die entsprechende(n) Proxy Methode(n) zu generieren. Diese Operation ist vollkommen automatisch und erfordert vom Benutzer weder Programmierung noch besonderes Know-how. Um eine WSDL Datei zu analysieren und die Proxy Methode zu generieren:
Die Proxy Methoden, die der Assistent für Web Services über Analysieren einer WSDL Datei erzeugt, sind sofort einsatzfähig, ohne irgendeine Änderung (Standardmodus). Sie können die Parameter dieser Proxy Methoden aber auch verändern, z.B. einen anderen Namen zuweisen. Mit dem Assistenten für Web Services können Sie auch eine Proxy Methode erstellen, in die Sie die Parameter manuell eingegeben haben. In diesem Fall verwenden Sie nicht den WSDL Parser. Für diese Operationen müssen Sie die zusätzlichen Parameter des Assistenten für Web Services verwenden. Klicken Sie dazu auf das Icon Erweitert unter der Liste, um das Fenster zu erweitern. Ist eine Methode ausgewählt, enthalten die Eingabefelder die aktuellen Parameter: Sie können alle Parameter verändern. Behandeln Sie jedoch Parameter, die sich aus WSDL Parsing ergeben, mit Bedacht, denn das kann die Funktionalität des Web Service beeinflussen. Davon ausgenommen ist der Methodenname. Es gibt folgende zusätzliche Parameter:
Um eine Proxy Methode in Ihrem Code aufzurufen, schreiben Sie einfach ihren Namen und übergeben die erforderlichen Parameter. Diese Parameter deklariert der Assistent für Web Services im Header-Bereich der Proxy Methode. In Übereinstimmung mit der standardmäßigen Syntax zum Übergeben von Parametern zwischen Methoden in 4D lauten sie $0, $1, $2... Sie erscheinen auch in den zusätzlichen Parametern der Beschreibung zu den veröffentlichten Methoden (siehe Abschnitt Zusätzliche Parameter) und werden manchmal in der dazugehörigen Dokumentation beschrieben. Beispiel: In einer Methode lässt sich die Proxy Methode folgendermaßen aufrufen: $Adresse:=proxy_WS_Kunde("Solar") Nach Ausführung der Methode erscheint folgende Meldung: Mit 4D können Sie Web Services verwenden, die im RPC oder DOC Modus veröffentlicht werden und komplexe Typen enthalten (siehe Kompatibilität von RPC, DOC und komplexen Typen). Hinweis: Auch bei komplexen XML Typen behandelt 4D Daten Arrays als einfache Typen. Proxy Methoden mit komplexen Typen, welche der Assistent für Web Services erzeugt, ähneln standardmäßigen Proxy Methoden, z.B. veröffentlicht im RPC Modus mit komplexen Typen oder im DOC Modus. Bei diesen Web Services werden Sie jedoch feststellen, dass der 4D Befehl WEB SERVICE CALL als Parameter eine Konstante mit den Wort manuell enthält. Das bedeutet, dass solche Web Services weitere Bearbeitung durch den 4D Entwickler erfordern. Der Hauptgrund dafür ist, dass komplexe Typen in Form von Dokumenten oder XML Elementen ausgetauscht werden. Demzufolge muss zum Entnehmen oder Einfügen von Information in diesen SOAP Parametern zuerst XML parsing ausgeführt werden – im Gegensatz dazu sind in einfachen Typen Werte von Parametern direkt lesbar.
Der Assistent für Web Services kann nur Arrays und komplexe Typen mit einer Ebene verwalten, d.h. eine hierarchische Ebene in der SOAP Anfrage. Werden mehr komplexe Einträge in der Anfrage gefunden, signalisiert der Assistent über eine Flagge neben dem Methodennamen, wenn eine WSDL entdeckt wird. Die Verwaltung dieser Art Web Service erfordert in der Regel durch den Entwickler angepasstes Analysieren. In 4D werden Parameter komplexer Typen – mit Ausnahme von Arrays – in Form von BLOBS verwaltet. Über die XML-Befehle können Sie deren Inhalt verwalten. Weitere Informationen dazu finden Sie im Handbuch 4D Programmiersprache in den Kapiteln Web Services (Client) und XML DOM.
|
EIGENSCHAFTEN
Produkt: 4D
GESCHICHTE
ARTIKELVERWENDUNG
4D Designmodus ( 4D v16) |
||||||||||||||||||||||||||||||||