Altova MobileTogether Designer

Starten eines Diensts über eine URL

Zur Startseite Zurück Nach oben Weiter

Ein Dienst kann über seine URL gestartet werden, wobei Parameterwerte über die Abfrageparameter der URL an den Dienst übergeben werden können.

 

Wir wollen diese Art der Verwendung anhand eines Beispiels erklären. Angenommen, Sie möchten die IP-Adresse eines Mobilgeräts an einen MobileTogether Server-Dienst übergeben. (z.B. damit der Dienst die IP-Adresse in einer Datei auf dem MobileTogether Server speichern und auf diese Weise anderen Lösungen, die Zugriff auf den Server haben, zur Verfügung stellen kann).

 

Dies sind die einzelnen Schritte:

 

1.Ein mit dem Internet verbundenes Gerät sendet einen HTTP GET Request an den MobileTogether Server-Dienst. Der Dienst wird dadurch gestartet.

2.Die URL des Request enthält als einen ihrer Abfrageparameter die IP-Adresse, die auf dem MobileTogether Server gespeichert werden soll.

3.Wenn der MobileTogether Server-Dienst den Request empfängt, speichert er automatisch alle Abfrageparameter der URL in seiner \$MT_InputParameters-Variablen.

4.Die IP-Adresse wird aus der \$MT_InputParameters-Variablen abgerufen und in einer Datei auf dem MobileTogether Server gespeichert, von wo aus sie einer auf einem MobileTogether Client-Gerät ausgeführten Lösung zur Verfügung steht.

 

Eine nähere Erläuterung zu den einzelnen Schritten finden Sie weiter unten.

 

URL des HTTP GET Request

Die URL muss nach folgendem Muster aufgebaut sein:

 

https://<mt-server-auf-dem-die Lösung-zur-Verfügung-steht>:<client-port>/run?d=<pfad-zum-Dienst>&<param1>=<Wert>

Beispiel: https://localhost:8083/run?d=/Dienste/MeinIPAdressDienst&ipadresse=Adresse

 

Beachten Sie die folgenden Punkte:

 

Stellen Sie sicher, dass die Dienstlösung als anonyme Lösung ausgeführt wird, sodass sie von jedem beliebigen Mobilgerät aus aufgerufen werden kann.

Die anonyme Ausführung ist nur am Client-Port des Servers (und nicht am Administrator-Port) möglich.

Mit Hilfe von run?d= können Sie den Pfad zur Dienstlösung auf dem Server definieren.

Mit Hilfe von &Schlüssel=Wert können Sie den Namen und Wert eines Parameters angeben, z.B: &ipaddress=someAddress.

Sie können mehrere Parameter angeben. Fügen Sie für jeden neuen Parameter einen neuen &Schlüssel=Wert hinzu (ohne als Trennzeichen Leerzeichen zwischen die Parameter einzufügen).

 

Speichern der IP-Adresse aus \$MT_InputParameters in einer Datei auf dem MT-Server.

Wenn die Dienstlösung durch den HTTP GET Request auf dem Server gestartet wird, werden die Abfrageparameter in der URL des GET Request automatisch in der Variablen \$MT_InputParameters gespeichert (siehe auch Input-Parameter für BeiServerBereitstellung).

 

Die in der \$MT_InputParameters-Variablen gespeicherten Werte können nun von den Aktionen der Dienst-Aktionsstruktur aufgerufen werden. So können wir etwa eine Textdatei speichern-Aktion verwenden, wie in der Abbildung unten gezeigt. Diese Aktion generiert einen Textstring, der die aus der \$MT_InputParameters-Variablen abgerufene IP-Adresse enthält, und speichert den generierten String dann in einer Datei auf dem Server.

MTDServicesSaveIPAddress

Beachten Sie zum Beispiel in der Abbildung die folgenden Punkte:

 

Der String, der die IP-Adresse enthält, wird als der Wert von Quell-Node erstellt. Es handelt sich hierbei um eine Verkettung (i) des aktuellen Datums- und Uhrzeitwerts und (ii) der IP-Adresse.

Die IP-Adresse stammt aus dem Wert des ipaddress-Schlüssels der in der \$MT_InputParameters-Variablen gespeicherten Zuordnung.

Der für Quell-Node generierte String wird in der Datei IPAddress.txt gespeichert, die sich im serverseitigen Arbeitsverzeichnis der Lösung befindet.

 

Die Daten in der Textdatei können nun ganz einfach mit Hilfe der Textdatei laden-Aktion in einen Seitenquellen-Node geladen werden.

 

Anmerkung:Sie könnten auch einen String im XML-Format generieren und den String in einer XML-Datei speichern. In diesem Fall würden Sie die Daten aus der XML-Datei mit Hilfe der Datei laden-Aktion laden.

 

© 2017-2023 Altova GmbH