Bereitstellen von Aufträgen als Web-Dienste

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

Startseite >  Konfigurieren von Aufträgen >

Bereitstellen von Aufträgen als Web-Dienste

Sie können FlowForce Server-Aufträge als Web-Dienste bereitstellen. Solche Aufträge werden in erster Linie von Programmen aufgerufen. Zum Testen und Debuggen können Sie solche Aufträge aber auch über einen Browser aufrufen.

 

 

So stellen Sie einen Auftrag als Web-Dienst bereit:

1.Erstellen Sie einen neuen Auftrag oder öffnen Sie einen vorhandenen, um ihn zu bearbeiten.
2.Aktivieren Sie das Kontrollkästchen Diesen Auftrag über HTTP ...zur Verfügung stellen.

 

ff-service

 

3.Geben Sie in das Textfeld "myURL" den Namen des Web-Dienstes ein.

 

Unter der angegebenen Request-URL startet FlowForce Server einen listener-Dienst, der HTTP-GET- und POST-Requests annimmt. Als Dienste bereitgestellte Aufträge bleiben aktiv, solange FlowForce Server ausgeführt wird.

 

Bei Aufruf des Dienstes führt FlowForce Server die angegebenen Auftragsausführungsschritte aus und gibt eines der folgenden Ergebnisse zurück:

 

die erste Ergebnisdatei des letzten Schritts, wenn mit dem Auftrag eine Ergebnisdatei erzeugt wird;
die Standardausgabe des letzten Schritts, wenn keine Ergebnisdateien erzeugt werden (dies kann der Fall sein, wenn Sie mit einer Ausgabe über die Befehlszeile arbeiten).

 

Ein gültiges Ergebnis wird mit einem Status HTTP 200 zurückgegeben, wobei der Content-Type Header die Art des Ergebnisses enthält. Der Content-Type hängt vom tatsächlichen Ergebnis ab. Wenn das Ergebnis eines MapForce Mappings eine XML-Ausgabe ist, lautet das Ergebnis text/xml, bei Ausgabe von Text lautet das Ergebnis text/plain. Die Standardausgabe anderer Funktionen wird ebenfalls als text/plain zurückgegeben. Das Ergebnis wird ohne Bearbeitungen als Inhalt der Antwort zurückgegeben.

 

Ausführungsfehler werden mit einer allgemeinen Fehlermeldung als HTTP 5xx Status ausgegeben. Nähere Informationen finden Sie im FlowForce Server Log (siehe Anzeige des Auftrags-Logs).

 

Unter Bereitstellen eines Auftrags als Web-Dienst finden Sie ein Schritt-für-Schritt-Beispiel zum Konfigurieren eines solchen Auftrags.

 

So zeigen Sie alle aktuell ausgeführten FlowForce Server Web-Dienste an:

Öffnen Sie Ihren Browser und geben Sie die folgende URL in die Adressleiste ein.

 

http://[FlowForceServer][ServerPort]/service/*

 

[FlowForceServer] und [ServerPort] beziehen sich auf die Netzwerkadresse und den Port, an dem FlowForce Server ausgeführt wird. Standardmäßig wird FlowForce Server auf http://localhost:4646 ausgeführt (vorausgesetzt, Sie rufen die Anwendung vom selben Rechner aus auf). Der Name und Port des Servers entsprechen den auf der Seite "Verwaltung" definierten (siehe Einstellen der Netzwerkadresse und des Ports).

 

Web-Dienst-Parameter

Wenn Sie einen Auftrag als Web-Dienst bereitstellen, werden alle Auftragsparameter automatisch zu Parametern für den Dienst. Wenn ein Auftragsparameter keinen Standardwert hat, ist er obligatorisch und muss bei Aufruf des Dienstes angegeben werden. Optionale Parameter erhalten den Standardwert, falls Sie in der Anforderung nicht bereitgestellt werden.

 

Bei Aufruf des Dienstes überprüft FlowForce Server die in der Anforderung bereitgestellten Parameter anhand der im Auftrag definierten. Wenn die Parametervalidierung fehlschlägt, gibt FlowForce Server einen 5xx HTTP Status zurück. In diesem Fall zeigt FlowForce Server zum Testen und Debuggen auch ein HTML-Parameterformular an. Für jeden Parameter vom Typ Stream steht eine Durchsuchen-Schaltfläche auf der Seite zur Verfügung über die Sie die als Parameter benötigte Datei hochladen können.

 

Um das HTML-Testformular ohne Bedingungen anzuzeigen, geben Sie in der Anforderung den vordefinierten Parameter showform (mit einem beliebigen Wert) an.

 

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.

 

Um einen FlowForce Web-Dienst mit Parametern aufzurufen, kann ein Client die folgenden Optionen verwenden:

 

1.Bei Parametern eines einfachen Typs wie Strings oder Zahlen kann ein Client diese in der URL eines GET- oder POST-Requests angeben. Ein Beispiel dazu finden Sie unter Bereitstellen eines Auftrags als Web-Dienst.
2.Bei POST Requests kann ein Client zusätzlich Parameter als multipart/form-data oder als application/x-www-form-urlencoded bereitstellen. Wenn der Parameter in FlowForce den Typ "Stream" hat, müssen Sie als multipart/form-data vom Client bereitgestellt werden und werden von FlowForce in dieser Form erwartet. Bei solchen Parametern wird im Browser-HTML-Testformular, wie oben erwähnt, eine Durchsuchen-Schaltfläche neben dem entsprechenden Parameter angezeigt.
3.Der Client-Aufruf kann beliebigen Inhalt auch in den Body des POST Request setzen (dies bezieht sich speziell auf Inhalt wie JSON- oder XML-Daten, die nicht als Parameter, sondern als der Body des HTTP POST Request bereitgestellt werden). Der FlowForce-Auftrag muss zu diesem Zweck einen einzigen Parameter vom Typ Stream enthalten. Wenn Sie zusätzliche Nicht-Stream-Parameter benötigen, müssen diese in der POST URL angegeben werden. Es darf in FlowForce jedoch nur ein Parameter vom Typ Stream definiert werden. Andere Parameter müssen einen Nicht-Stream-Typ haben. Wenn diese Voraussetzungen gegeben sind, wird der Request Body als Daten für den Parameter Stream behandelt. Es ist keine weitere Konfiguration erforderlich. Ein Beispiel dazu finden Sie unter JSON Post Requests für einen FlowForce Web-Dienst.

 

Web-Dienst-Authentifizierung

Zur Authentifizierung von Clients, die einen Web-Dienst aufrufen wird in FlowForce Server standardmäßig die FlowForce HTTP Basic Authentifizierung verwendet. Die Anmeldeinformationen des Benutzers werden anhand der FlowForce Server-Benutzerdatenbank überprüft (dies ist derselbe Benutzername und dasselbe Passwort, das zum Einloggen auf der FlowForce Server Web-Verwaltungsschnittstelle verwendet wird).

ff_login_04

Um einen Web-Dienst ohne Anmeldeinformationen zur Verfügung zu stellen, räumen Sie dem Standardbenutzer useranonymous die Berechtigung Dienst verwenden ein (siehe auch Funktionsweise von Berechtigungen).

 

Wenn ein Dienst für die Verwendung durch einen anonymen Benutzer zur Verfügung steht, können Sie dennoch HTTP-Anmeldeinformationen bereitstellen. Die Anmeldeinformationen werden dann anhand der FlowForce Server-Benutzerdatenbank überprüft und die Ausführung des Dienstes wird dem authentifizierten Benutzer anstatt dem Benutzer "anonymous" zugeschrieben.

 

Wenn Sie ungültige Anmeldeinformationen angeben, gibt die Request-Schnittstelle einen HTTP-Status 401 zurück. Wenn Sie keine Anmeldeinformationen angegeben haben und dem Benutzer "anonymous" die Verwendung des Dienstes nicht gestattet wurde, gibt die Request-Schnittstelle ebenfalls den HTTP-Status 401 zurück.

 

Wenn Sie gültige Anmeldeinformationen angegeben haben, aber der authentifizierte Benutzer die Berechtigung Dienst verwenden für diesen Dienst nicht hat, gibt die Request-Schnittstelle einen HTTP 4xx-Fehlerstatus zurück. Wenn Sie versuchen, einen nicht existenten Dienst aufzurufen, wird ein HTTP 4xx-Fehlerstatus zurückgegeben.

 

Optional kann zusätzlich zur HTTP-Basisauthentifizierung auch eine Domain-Authentifizierung konfiguriert werden. Informationen zur Konfiguration finden Sie unter Ändern der Directory Service-Einstellungen. Nachdem die Domain-Authentifizierung konfiguriert wurde, können Benutzer über FlowForce Server bereitgestellte Web-Dienste aufrufen, vorausgesetzt sie geben einen gültigen Benutzernamen und ein gültiges Passwort für die entsprechende Domain an. Beachten Sie, dass der Benutzername bei Active Directory das Präfix NT/ sowie den Domain-Namen enthalten muss, z.B: NT/john.doe@my.domain.com.

ff_login_03

 

Warteschlangeneinstellungen

Die Ausführung eines Dienstes wird wie die Ausführung über einen Trigger behandelt und unterliegt denselben Warteschlangeneinstellungen (siehe Definieren der Warteschlangeneinstellungen).

 


© 2019 Altova GmbH