Altova FlowForce Server 2024 Advanced Edition

Vérifier l'existence d'un chemin

Accueil Préc Haut Suivant

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é. La tâche prendra le chemin en tant qu’argument et retournera un string qui informe si le chemin fourni en tant qu’argument existe sur le système d’exploitation sur lequel FlowForce Server est exécuté.

 

Prérequis

Licences requises : FlowForce Server

Les services FlowForce Web Server et FlowForce Server doivent écouter adresse réseau et le port configurés.

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 sur FlowForce Server et se rendre dans un conteneur pour lequel vous possédez une permission de créer de nouvelles tâches. Pour rester cohérent avec les autres exemples, ce tutoriel utiliser le conteneur /public/Examples. Si vous n’avez pas encore ce conteneur, le créer en utilisant la commande Créer | Créer Conteneur.

2.Dans le conteneur /public/Examples, 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 à cocher Rendre cette tâche disponible via HTTP et saisir CheckPathService en guise de nom du service. Pour plus d’informations, voir Exposer des tâches en tant que Services Web.

fs_ex_checkpath_07

11.Sous "Identifiants", choisissez un enregistrement d’identifiant existant ou spécifiez un identifiant local. Pour plus d'informations, voir Identifiants.

12.Cliquez sur Enregistrer.

 

Exécuter la tâche

Pour exécuter la tâche, suivez l’une des étapes suivantes :

 

Se rendre sur Accueil, puis cliquer sur Afficher tous les déclencheurs et les services actifs. Ensuite, cliquer sur l’URL de la tâche affichée dans la colonne "Info ».

Saisir http://127.0.0.1:4646/service/CheckPathService dans la barre d'adresse du navigateur. Noter que cette URL fonctionne uniquement si le service FlowForce Server écoute l’adresse d’hôte par défaut et le nom de port. Si vous avez défini d’autres paramètres d’hôte et de port dans la Page de Configuration, modifier l’adresse.

Si vous définissez Ile champ optionnel Nom d’hôte du FlowForce Server depuis la Page de configuration, vous pouvez exécuter l'appel de service Web directement depuis la page de configuration de la tâche, en cliquant sur la touche fs_ic_call_ws adjacente à la case à cocher Rendre cette tâche disponible via HTTP. Sinon la touche ne sera pas affichée.

 

Lorsque vous êtes invité à accéder au service Web, fournissez les mêmes identifiants que vous utilisez pour vous connecter à FlowForce Server.

 

Vous ne fournirez vos identifiants d’utilisateur FlowForce Server pour l’authentification HTTP qu’à des fins de test. Pour la production, il est recommandé de créer un nouvel utilisateur FlowForce, d’accorder la permission Service - Utiliser à cet utilisateur dans le conteneur dans lequel la tâche est située, puis d’accéder au service Web avec le compte d’utilisateur correspondant. Pour désactiver l'authentification HTTP et rendre le service Web public, accorder la permission Service - Utiliser à l’utilisateur Anonymous, voir Comment fonctionnent les permissions.

 

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.

© 2018-2024 Altova GmbH