Bereitstellen eines Auftrags als Web-Dienst

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Beispiele zur Konfiguration von Aufträgen >

Bereitstellen eines Auftrags als Web-Dienst

In diesem Beispiel wird gezeigt, wie Sie einen Beispiel-Mapping-Auftrag als Web-Dienst bereitstellen. Das Beispiel-Mapping wurde mit MapForce erstellt. Darin werden Daten aus einer Microsoft Access-Datenbank, in der eine Liste von Personendatensätzen gespeichert ist, ausgelesen. Das Mapping ruft nur die Personendatensätze aus der Datenbank ab, deren Nachname mit einem bestimmten (als Parameter bereitgestellten) Buchstaben beginnt. Des Weiteren wird beschrieben, wie Sie das vorhandene Mapping von MapForce (entweder auf demselben oder einem anderen Rechner) auf FlowForce Server bereitstellen und in einen Web-Dienst umwandeln. Nach Fertigstellung dieses Beispiels können Sie den Web-Dienst über einen Browser aufrufen.

 

Voraussetzungen

Benötigte Lizenzen: MapForce Enterprise oder Professional Edition, MapForce Server oder MapForce Server Advanced Edition und FlowForce Server
FlowForce Server wird an der konfigurierten Netzwerkadresse und am konfigurierten Port ausgeführt (siehe Einstellen der Netzwerkadresse und des Ports).
Sie haben ein FlowForce Server-Benutzerkonto mit Berechtigungen für einen der Container (standardmäßig hat jeder authentifizierte Benutzer Zugriff auf den in diesem Beispiel verwendeten Container /public).
In dem in diesem Beispiel verwendeten Mapping werden Daten aus einer Microsoft Access-Datenbank ausgelesen. Auf dem Rechner, auf dem FlowForce Server ausgeführt wird, muss entweder Microsoft Access oder Microsoft Access Runtime (https://www.microsoft.com/en-us/download/details.aspx?id=50040) installiert sein.

 

Verwendete Demo-Dateien

In diesem Beispiel werden die folgenden Dateien verwendet. Sie finden die Dateien auf dem Computer, auf dem MapForce installiert ist, unter dem folgenden Pfad: ..\Dokumente\Altova\MapForce2019\MapForceExamples.

 

DB_PhoneList.mfd (die MapForce Mapping-Design-Datei)
altova.mdb (die Microsoft Access-Datenbank, aus der die Daten ausgelesen werden).

 

Vorbereiten des Mappings für die Bereitstellung auf einem anderen Rechner

Da in diesem Mapping Daten aus einer Datenbankdatei ausgelesen werden, müssen vor Bereitstellung des Mapppings, wie in diesem Abschnitt erläutert, zusätzliche Konfigurationsschritte durchgeführt werden. Wenn MapForce und FlowForce Server auf demselben Rechner installiert sind, können Sie den Abschnitt "Bereitstellen des Mappings" (siehe unten) überspringen.

 

Anmerkung:Als Quellrechner wird der Rechner bezeichnet, auf dem MapForce installiert ist. Als "Zielrechner" wird der Rechner bezeichnet, auf dem FlowForce Server installiert ist.

 

Bevor Sie versuchen, das Mapping auf dem Zielrechner bereitzustellen, gehen Sie folgendermaßen vor:

 

1.Konfigurieren Sie den "FlowForce Web Server"-Dienst auf dem Zielrechner so, dass er entweder an allen Schnittstellen oder an einer bestimmten IP-Adresse, die nicht die des lokalen Host ist empfangsbereit ist, siehe Definieren der Netzwerkeinstellungen. Durch Aufrufen der folgenden URL über den Browser können Sie überprüfen, ob der Dienst richtig konfiguriert ist: http://<FlowForce Web Server><port>. Stellen Sie sicher, dass die eingehenden Daten für die angegebene Adresse und den angegebenen Port nicht durch eine Firewall blockiert werden.
2.Wie bereits oben erwähnt, muss der in diesem Beispiel erstellte Auftrag als Web-Dienst zur Verfügung stehen. Alle als Web-Dienste in FlowForce bereitgestellten Auftragsanforderungen werden vom "FlowForce Server"-Dienst (und nicht vom "FlowForce Web Server"-Dienst, siehe auch Funktionsweise) behandelt. Wenn der Web-Dienst auch von HTTP-Clients von außerhalb des lokalen Host-Rechners aufgerufen wird, muss der "FlowForce Server"-Dienst folglich auch entweder an allen Schnittstellen oder an einer bestimmten Adresse, die nicht die des lokalen Host ist, empfangsbereit sein. Ob dieser Dienst richtig konfiguriert ist, können Sie durch Aufruf der folgenden URL über den Browser überprüfen: http://<FlowForce Server><port>/service/ . Alle etwaigen als Web-Dienste bereitgestellte Aufträge sollten direkt im Browser-Fenster als Links angezeigt werden.

 

Bevor Sie das Mapping bereitstellen, muss es außerdem neu konfiguriert werden, damit anstelle von absoluten relative Pfade verwendet werden:

 

1.Öffnen Sie das Mapping DB_PhoneList.mfd in MapForce, klicken Sie mit der rechten Maustaste in den Mapping-Bereich und wählen Sie im Kontextmenü den Befehl Mapping-Einstellungen aus.
2.Deaktivieren Sie das Kontrollkästchen Pfade im generierten Code absolut machen.

fs_ws_job_02

3.Speichern Sie das Mapping.

 

Dateibasierte Datenbanken wie Microsoft Access oder SQLite werden nicht zusammen mit dem Mapping auf dem Zielrechner bereitgestellt. Die Access-Datenbank muss daher manuell vom Quell- auf den Zielrechner kopiert werden. Kopieren Sie die Datenbankdatei altova.mdb aus dem Verzeichnis ..\Dokumente\Altova\MapForce2019\MapForceExamples des Quellrechners in ein leeres Verzeichnis auf dem Zielrechner. In diesem Beispiel ist das Zielverzeichnis "C:\FlowForceWorkingDir". Dieses Verzeichnis wird später vom FlowForce-Auftrag referenziert.

 

Das Mapping kann nun auf FlowForce Server bereitgestellt werden. Nähere Informationen zum Bereitstellen von Mappings mit Datenbankverbindungen finden Sie unter Vorbereiten von Mappings für die Server-Ausführung.

 

Bereitstellen des Mappings

1.Öffnen Sie die Datei DB_PhoneList.mfd in MapForce.
2.Klicken Sie im Menü Datei auf Auf FlowForce Server bereitstellen. Für dieses Beispiel nehmen wir an, dass das Mapping unter dem Standardpfad (Container /public) bereitgestellt wird. Wenn Sie das Mapping auf FlowForce Server auf einem anderen Rechner bereitstellen, ändern Sie die Server-Adresse und den Server-Port von "localhost:8082" in die, die Sie in FlowFoce Server konfiguriert haben (siehe oben).

fs_ws_job_01

 

Erstellen des FlowForce-Auftrags

Sie haben jetzt das Mapping auf FlowForce Server bereitgestellt und die Auftragskonfigurationsseite im Browser geöffnet (vorausgesetzt Sie haben das Kontrollkästchen Web Browser zur Erstellung eines neuen Auftrags öffnen im Dialogfeld oben aktiviert). Melden Sie sich andernfalls auf der FlowForce Server Web-Verwaltungsschnittstelle an, öffnen Sie die zuvor bereitgestellte Mapping-Funktion (die sich im Container /public befinden sollte) und klicken Sie auf Auftrag erstellen.

 

 

So konfigurieren Sie den Auftrag:

1.Erstellen Sie unter "Auftrags-Input-Parameter" einen neuen Input-Parameter vom Typ String und geben Sie ihm den Namen NamePrefix.

 

ExampleWebService1

 

2.Klicken Sie unter "Ausführungsschritte" neben NamePrefix auf Setzen auf und wählen Sie NamePrefix. Damit wird der Wert des Mapping-Parameters NamePrefix auf den Wert des im vorigen Schritt erstellten Input-Parameters NamePrefix gesetzt.
3.Geben Sie neben Working-directory "C:\FlowForceWorkingDir" ein (dies muss dasselbe Verzeichnis sein, in das Sie zuvor die Access-Datei kopiert haben).

fs_ws_job_03

 

4.Aktivieren Sie unter "Dienst" das Kontrollkästchen Diesen Auftrag über HTTP zur Verfügung stellen... und geben Sie als Namen des Dienstes "GetPhoneList" ein.

 

ExampleWebService3

 

5.Wählen Sie unter "Anmeldeinformationen" einen vorhandenen Eintrag aus oder definieren Sie lokale Anmeldeinformationen (siehe auch Anmeldeinformationen).

 

Bei den Anmeldeinformationen handelt es sich um eine Kombination aus dem Benutzernamen und dem Passwort, die mit einem Benutzerkonto auf dem Betriebssystem, auf dem der FlowForce Server-Auftrag ausgeführt wird, verknüpft sind. Bei Definition eines Auftrags in FlowForce Server müssen Sie die Anmeldeinformationen angeben, mit denen der Auftrag ausgeführt werden soll. Wenn das mit den Anmeldeinformationen verknüpfte Benutzerkonto nicht genügend Rechte auf dem Betriebssystem hat, kann der Auftrag nicht erfolgreich ausgeführt werden.

fs_deploy_mapping_05

Anmerkung:Diese Anmeldeinformationen sind nicht mit den zum Aufrufen der FlowForce Server Web-Verwaltungsschnittstelle verwendeten zu verwechseln. Stellen Sie außerdem sicher, dass der hier eingegebene Benutzer Zugriff auf die Datenbankdatei altova.mdb aus dem Arbeitsverzeichnis hat, da der Auftrag sonst nicht erfolgreich ausgeführt werden kann.

 

6.Klicken Sie auf Speichern.

 

Aufrufen des Web-Diensts

Sie können den soeben erstellten Web-Dienst nun aufrufen:

 

1.Öffnen Sie einen Webbrowser und geben Sie in die Adressleiste die folgende URL ein (ersetzen Sie [FlowForceServer] und [Port] durch die auf der Seite "Verwaltung" konfigurierten Einstellungen):

 

http(s)://[FlowForceServer]:[Port]/service/GetPhoneList

 

 

Wenn Sie als Web-Dienste bereitgestellte FlowForce Server-Aufträge mit Internet Explorer testen, müssen Sie eventuell  auf dem Register "Erweitert" die Option "Kurze HTTP-Fehlermeldungen anzeigen" deaktivieren.

 

 

2.Wenn Sie aufgefordert werden, Anmeldeinformationen anzugeben, geben Sie die Anmeldeinformationen ein, mit denen Sie auf die FlowForce Server Web-Verwaltungsschnittstelle zugreifen.
3.Wenn Sie aufgefordert werden, die Parameter des Web-Dienstes einzugeben, geben Sie F ein (wenn Sie z.B. alle Personen abrufen möchten, deren Nachname mit "F" beginnt).

 

ExampleWebService4

 

4.Klicken Sie auf Absenden. FlowForce Server verarbeitet den Auftrag und gibt das Ergebnis zurück.

 

ExampleWebService5

 

Wenn der Auftrag erfolgreich ausgeführt werden konnte, sehen Sie das Ergebnis direkt im Browser (und es wird auch im Arbeitsverzeichnis C:\FlowForceWorkingDir generiert). Wenn Sie andernfalls einen Ausführungsfehler sehen, sehen Sie im Auftrags-Log nach, wo Sie nähere Informationen zum Fehler finden (siehe Anzeige des Auftrags-Logs).


© 2019 Altova GmbH