Altova FlowForce Server 2024 Advanced Edition

Sie können FlowForce Server-Aufträge als Web-Dienste konfigurieren. In der FlowForce Server Advanced Edition können AS2-Nachrichten als Web-Dienste konfiguriert werden. Nähere Informationen dazu finden Sie unter Senden von AS2-Nachrichten und Empfangen von AS2-Nachrichten.Solche Aufträge werden in erster Linie von Programmen aufgerufen. Zum Testen und Debuggen können Sie solche Aufträge auch über einen Browser aufrufen.

 

Konfigurieren eines Auftrags als Web-Dienst

Um einen Auftrag als Web-Dienst bereitzustellen, gehen Sie folgendermaßen vor:

 

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 .. (siehe Abbildung unten) zur Verfügung stellen.

fs_play_web_service

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

 

Als Dienste konfigurierte Aufträge bleiben aktiv, solange FlowForce Server ausgeführt wird.

 

Anmerkung:Die Schaltfläche fs_ic_call_ws (Webservice aufrufen) steht nur zur Verfügung, wenn Sie des Feld Host-Name des FlowForce Server-Diensts über die Setup-Seite definiert haben. Durch Klick auf diese Schaltfläche wird der Web-Dienst in einem neuen Browser-Fenster aufgerufen. Wenn Sie keinen Host-Namen für FlowForce Server konfiguriert haben, wird die Schaltfläche nicht angezeigt, doch können Sie den Web-Dienst durch manuelle Eingabe der URL in die Addresszeile des Browsers aufrufen.

 

Mögliche Resultate

Bei Aufruf des Web-Dienstes führt FlowForce Server die definierten 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 dem 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 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.

 

Beispiele für Web-Dienste finden Sie unter Bereitstellen von Aufträgen als a Web-Dienste.

 

Sie können FlowForce so konfigurieren, dass ein Ergebnis zurückgegeben wird, noch bevor alle Auftragsschritte ausgeführt wurden. Dies ist dann von Vorteil, wenn der als Dienst aufgerufene Auftrag lange dauert. Das vorgezogene Ergebnis könnte vom Aufrufer als Bestätigung dafür behandelt werden, dass die Aufgabe von FlowForce Server zur Verarbeitung angenommen wurde. Nähere Informationen dazu finden Sie unter Verschobene Schritte.

 

Anzeigen aktueller Web-Dienste

Um alle aktuellen Web-Dienste anzuzeigen, wählen Sie eine der folgenden Methoden:

 

Gehen Sie zur Startseite und klicken Sie anschließend auf Alle aktiven Trigger und Dienste anzeigen. Siehe auch Aktive Timer.

Rufen Sie die folgende URL über Ihren Browser auf: http://[FlowForceServer][ServerPort]/service/*

 

[FlowForceServer] und [ServerPort] referenzieren in der obigen URL die Netzwerkadresse und den Port, an dem FlowForce Server empfangsbereit ist. 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 werden auf der Seite Verwaltung definiert. Nähere Informationen dazu finden Sie unter Definieren der Netzwerkeinstellungen..

 

Web-Dienst-Parameter

Wenn Sie einen Auftrag als Web-Dienst bereitstellen, werden alle Auftragsparameter automatisch zu Parametern für den Dienst. Ein Auftragsparameter muss einen Standardwert haben.

 

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 die 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.

 

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. Bei solchen Parametern wird im Browser-HTML-Testformular, die 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 der HTTP 4xx-Fehlerstatus zurückgegeben.

 

Optional kann zusätzlich zur HTTP-Basisauthentifizierung auch eine Domain-Authentifizierung konfiguriert werden. Informationen zum Konfigurieren der Windows Domain-Authentifizierung 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

Dienst-URL-Requests sind eine bestimme Art von Trigger und unterliegen daher nach Herstellung der Verbindung denselben Warteschlangeneinstellungen (siehe Definieren der Warteschlangeneinstellungen).

 

Konfigurieren der maximalen Größe des HTTP Request Body

In FlowForce Server beschränkt ein Standardlimit die maximale Größe des HTTP Request Body auf ca. 100 MB. Wenn HTTP Requests an als Web-Dienst bereitgestellte FlowForce-Aufträge gesendet werden und der HTTP Request Body dieses Limit übersteigt, kann es vorkommen, dass Sie von FlowForce Server einen Fehler ungefähr folgenden Inhalts erhalten:

 

Das mit dem Request gesendete Objekt übersteigt die maximal zulässige Bytegröße.

 

Gehen Sie folgendermaßen vor, damit größere Requests akzeptiert werden:

 

1.Öffnen Sie die flowforce.ini-Datei in einem Text-Editor.

2.Fügen Sie die Option max_request_body_size zum Abschnitt [Listen] oder [ListenSSL] hinzu und definieren Sie dafür die maximale Anzahl an Bytes, die zugelassen werden sollen.

 

Damit z.B. maximal 500 MB akzeptiert werden, könnte Ihre flowforce.ini-Datei folgendermaßen aussehen:

 

[Listen]
active=1
host=0.0.0.0
port=4646
hostname=somehost.example.org
max_request_body_size=500000000

 

Nähere Informationen über die .ini-Datei finden Sie in der Konfigurationsdateireferenz.

 

Umkonfiguration von FlowForce Server Pool Threads

Wenn Sie eine große Anzahl von parallelen HTTP Service Requests (z.B. 20 oder mehr auf einmal) erwarten, können Sie die den Server umkonfigurieren, um etwas mehr Pool Threads zu gestatten.

 

1.Öffnen Sie die flowforce.ini-Datei in einem Text-Editor.

2.Fügen Sie die Option thread_pool zum Abschnitt [Listen] oder [ListenSSL] der .ini-Datei hinzu und setzen Sie diese auf einen Wert über 20.

3.Starten Sie den Dienst neu.

 

Anmerkung:Es empfiehlt sich, zwei separate [Listen]-Abschnitte zu haben - einen für FlowForce Web Server (für den nicht so viele Pool Threads benötigt werden) und den anderen für alle anderen Requests (vorzugsweise an einem anderen Port). Andernfalls konkurriert FlowForce Web Server mit allen anderen HTTP Requests um Pool Threads.

 

© 2017-2023 Altova GmbH