Démarrer un Service via l’URL
Vous pouvez démarrer un service via son URL et transmettre des valeurs de paramètre au service via les paramètres de requête de l’URL.
Nous expliquerons ce genre d’utilisation avec un exemple. Disons que nous voulons transmettre une adresse IP d’un appareil mobile à un service MobileTogether Server. (Si nous voulons le faire, par exemple, pour qu’un service puisse stocker l’adresse IP en un fichier sur MobileTogether Server et, de cette façon, rendre l’adresse IP disponible pour les solutions qui ont accès au serveur.)
Les étapes de ce mécanisme sont les suivantes :
1.Un appareil connecté à Internet envoie une requête HTTP GET au service MobileTogether Server. Ceci démarrera le service.
2.L’URL de la requête contient, comme l’un de ses paramètres de requête, l’adresse IP que nous voulons stocker dans MobileTogether Server.
3.Lorsque le service MobileTogether Server obtient la requête, il stocke automatiquement tous les paramètres de requête de l’URL dans sa variable $MT_InputParameters.
4.L’adresse IP est obtenue depuis la variable $MT_InputParameters et stockée dans un fichier sur MobileTogether Server, à partir duquel il sera disponible pour une solution exécutée sur l’appareil MobileTogether Client.
Ces étapes sont discutées ci-dessous plus en détail.
URL de la requête HTTP GET
Le modèle de l’URL doit être comme suit :
https://<mt-server-hosting-the-solution>:<client-port>/run?d=<path-to-service>&<param1>=<value>
Example: https://localhost:8083/run?d=/services/MyIPAddressService&ipaddress=someAddress
Veuillez prendre note des points suivants :
•Assurez-vous que la solution de service est exécutée de manière anonyme pour qu’elle puisse être appelée par l’appareil mobile.
•L’exécution anonyme n’est possible que sur le port client du serveur (pas le port de l’administrateur).
•Utilisez run?d= pour spécifier le chemin à la solution de service sur le serveur.
•Utilisez &key=value pour fournir le nom et la valeur d’un paramètre, par exemple : &ipaddress=someAddress.
•Vous pouvez fournir de multiples paramètres. Ajoutez une nouvelle &key=value pour chaque nouveau paramètre (avec aucun séparateur d’espace entre les paramètres).
Enregistrer l’adresse IP depuis $MT_InputParameters vers un fichier sur le serveur MT
Quand la solution de service a démarré sur le serveur par la requête HTTP GET, les paramètres de requête dans une URL de la requête GET sont automatiquement stockés dans la variable $MT_InputParameters (voir aussi OnServerDeployment Input Parameters).
Les valeurs stockées dans la variable $MT_InputParameters peuvent désormais être accédées par les actions de l’Arborescence d’Action du Service. Par exemple, nous pouvons utiliser une action Enregistrer un fichier de texte tel qu’affiché dans la capture d’écran ci-dessous. Cette action génère un string de texte qui contient l’adresse IP qu’elle obtient de la variable $MT_InputParameters, puis enregistre le string dans un fichier sur le serveur.
Veuillez noter les points suivants concernant l’exemple de la capture suivante ci-dessus :
•Le string qui contient l’adresse IP est construit comme valeur du Nœud source Il s’agit d’une concaténation de (i) la dateTime actuelle et (ii) l’adresse IP.
•L’adresse IP est obtenue depuis la valeur de la clé ipaddress du mappage stocké dans la variable $MT_InputParameters.
•Le string généré pour le Nœud Source est enregistré dans le fichier IPAddress.txt, qui est situé dans le Répertoire de travail de la solution côté serveur.
Les données dans le fichier texte peuvent désormais être facilement chargés dans une source de page en utilisant l’action Charger Fichier de texte.
Note : | Vous pouvez aussi générer un string dans le format XML et enregistrer le string dans un fichier XML. Dans ce cas, vous utiliseriez l’action Charger Fichier pour charger les données depuis le fichier XML. |