Vérifier l'existence d'un chemin

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Exemples de configuration de tâche >

Vérifier l'existence d'un chemin

Cet exemple vous montre comment créer une tâche qui vous informe si un chemin (vers un fichier ou un répertoire) existe sur le système d'exploitation. Afin de parvenir à cet objectif, vous devrez utiliser une combinaison de fonctions intégrées et de fonctions d'expression. La tâche sera définie en tant que service Web, de manière à ce que vous puissiez le déclencher à la demande, en accédant à une URL depuis le navigateur. la tâche prendra le chemin en tant qu'argument et retournera un string qui informe si le chemin fourni en tant qu'un argument existe sur le service d'exploitation sur lequel FlowForce Server est exécuté.

 

Conditions préalables

Licences requises : FlowForce Server
FlowForce Server doit être exécuté sous l'adresse de réseau et le port configurés (voir Configurer l'adresse de réseau et le port)
Vous détenez un compte d'utilisateur FlowForce Server contenant des permissions vers un des conteneurs (par défaut, le conteneur /public utilisé dans cet exemple est accessible à tout utilisateur authentifié).

 

Créer la tâche

1.Se connecter à FlowForce Server et naviguer jusqu'à un conteneur dans lequel vous avez la permission de créer de nouvelles tâches (dans cet exemple, nous utilisons /public).
2.Cliquer sur Créer, puis sélectionner Créer tâche.
3.Ajouter un nom de tâche (CheckPath, dans cet exemple) et, en option, une description de la tâche.

ExamplePathExists01

4.Sous Paramètres d'entrée de tâche, cliquer sur add et ajouter le paramètre path, comme indiqué ci-dessous.

ExamplePathExists02

5.Ajouter une nouvelle étape d'exécution qui appelle la fonction builtin_function/system/shell/commandline , et saisir la commande shell qui vérifie l'existence du fichier. Assurez-vous de déclarer le résultat de cette étape, comme indiqué ci-dessous (dans cet exemple, nous l'appelons output).

ExamplePathExists03

Sur Windows, la commande shell sort "1" lorsque le chemin existe et "0" lorsqu'il n'existe pas. Si FlowForce Server est exécuté sur un système Unix, ajuster la commande en conséquence. Veuillez noter que la commande intègre l'expression FlowForce {path}. Cette expression référence les paramètres d'entrée définis dans l'étape précédente.

6.Sous "Étapes d'exécution", cliquer sur la touche add, puis sélectionner nouvelle étape Choisir. Ensuite, saisir trim(content(stdout(output))) == '1' en tant qu'expression de condition. Cette expression consiste en trois fonctions imbriquées : stdout, content et trim. Tout d'abord, la fonction stdout obtient la sortie standard du résultat retourné par l'étape suivante. Ensuite, la fonction content convertit la sortie standard en string. Enfin, la fonction trim supprime tout espace de début ou de fin, les retours de chariot, ou les sauts de ligne de la sortie standard. Le résultat est ensuite comparé à "1" à l'aide de l'opérateur d'égalité. Si les deux valeurs sont égales, le chemin existe, sinon, le chemin n'existe pas.
7.Sous la clause When, ajouter une étape d'exécution comme indiqué ci-dessous. Cette étape d'exécution appelle la fonction builtin_function/system/compute-string pour créer la valeur de string qui doit être retournée lorsque le chemin existe. Veuillez noter que la valeur intègre l'expression FlowForce {path}. Cette expression référence les paramètres d'entrée définis dans une étape précédente.

ExamplePathExists04

8.Sous la clause Otherwise, ajouter une étape d'exécution comme indiqué ci-dessous. Cette étape d'exécution appelle la fonction builtin_function/system/compute-string pour créer la valeur de string qui doit être retournée lorsque le chemin n'existe pas. Veuillez noter que la valeur intègre l'expression FlowForce {path}. Cette expression référence le paramètre d'entrée défini dans une étape précédente.

ExamplePathExists05

9.Sous Résultat d'exécution, déclarer le type de retour en tant que string.

helloworld04

10.Sous Service, cliquer pour sélectionner la case Rendre cette tâche disponible via HTTP, et saisir CheckPath en tant que le nom du service (voir Exposer des tâches en tant que Services Web ).
11.Sous "Identifiants", choisir une entrée d'identifiant existante ou spécifier un identifiant local (voir Identifiants).
12.Cliquer sur Enregistrer.

 

Exécuter la tâche

Pour tester la tâche, saisir http://127.0.0.1:4646/service/CheckPath dans la barre d'adresse du navigateur, si FlowForce Server est exécuté sur l'hôte et le nom de port par défaut. Si vous avez défini d'autres paramètres d'hôte et de port dans la page de Configuration (voir Définir l'adresse et le port de réseau ), modifier l'adresse en conséquence. Si vous êtes invité à saisir les identifiants lors de l'accès au service Web, fournir les mêmes identifiants que vous avez utilisé sur FlowForce Server.

 

Si vous utilisez Internet Explorer pour tester les tâches FlowForce Server exposées en tant que services Web, désactiver l'option "Show friendly HTTP error messages" dans l'onglet Avancé.

 

Puisque cette tâche a des arguments, vous serez invité à les fournir lorsque vous accédez au service Web dans le navigateur.

ExamplePathExists06

Si la tâche est exécutée avec succès, le navigateur affiche la sortie de la tâche, par exemple :

 

Path C:\ exists.

 

Si la tâche échoue, le navigateur affiche un message "Exécution de service a échoué". Dans ce cas, contrôler le journal de la tâche dans FlowForce Server pour identifier l'erreur (voir Consulter le journal de tâche).


© 2019 Altova GmbH