Valider un XML avec le logging d'erreur

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

Accueil >  Exemples de configuration de tâche >

Valider un XML avec le logging d'erreur

Cet exemple vous montre comment créer une tâche qui valide un fichier XML par rapport à un schéma. Si la tâche échoue, pour une raison quelconque, les détails d'erreur seront conservés dans un fichier de journal. Pour la validation, nous allons utiliser la fonction valxml-withxsd de RaptorXML Server. (Les fonctions RaptorXML Server deviennent disponibles dans FlowForce Server lorsque RaptorXML Server est mis sous licence). Veuillez noter que, en ce qui concerne la partie de logging, la technique illustrée dans cet exemple ne dépend pas de RaptorXML Server et peut s'appliquer à d'autres types de tâches.

 

Dans cet exemple en particulier, la tâche sera définie en tant que service Web, de manière à ce que vous puissiez le déclencher sur demande, en accédant à une URL depuis le navigateur. Néanmoins, si nécessaire, vous pouvez aussi ajouter un déclencheur minuteur (ou un déclencheur système de fichier) à la tâche, semblable à ce qui a été montré dans d'autres exemples. Vous pouvez même ajouter à la même tâche une combinaison de déclencheur et de service Web. Ainsi, la tâche sera exécutée non seulement telle que définies par les règles du déclencheur, mais aussi sur demande, lorsque le service Web est appelé.

 

Conditions préalables

Licences nécessaires : MapForce édition Enterprise ou Professional, MapForce Server ou MapForce Server Advanced Edition, FlowForce Server
FlowForce Server est exécuté sous l'adresse de réseau et le port configurés (voir Configurer l'adresse de réseau et le port)
Vous possédez un compte d'utilisateur FlowForce Server ainsi que les permissions vers un des conteneurs (par défaut, le conteneur /public utilisé dans cet exemple est accessible uniquement aux utilisateurs authentifiés).
La tâche créée dans cet exemple génère un fichier de journal à chaque fois qu'il est exécuté. C'est pourquoi, sur le système d'exploitation sur lequel FlowForce Server est exécuté, vous devez posséder les droites pour créer les fichiers dans certains répertoires (cet exemple utilise le répertoire C:\FlowForce).

 

Fichiers de démo utilisés

Le fichier XML validé dans cet exemple est disponible dans le dossier d'installation RaptorXML Server, sous le chemin suivant : C:\Program Files\Altova\RaptorXMLServer2019\examples\NanonullOrg.xml. Sur un Windows 64-bit exécutant un FlowForce Server 32-bit, le chemin sera C:\Program Files (x86)\Altova\RaptorXMLServer2019\examples\NanonullOrg.xml, sauf si vous avez installé RaptorXML Server dans un dossier différent.

 

Créer la tâche

1.Se connecter sur FlowForce Server et se rendre dans un conteneur pour lequel vous avez la permission de créer de nouvelles tâches (dans cet exemple, nous utilisons /public).
2.Cliquer sur Créer, puis choisir Créer tâche.
3.Ajouter un nom de tâche (ValidateFile, dans cet exemple) et, en option, une description de tâche.

ex-raptor-01-01

4.Sous "Étapes d'exécution", cliquer sur la touche add, puis choisir nouvelle étape handling erreur/succès.

ex-raptor-01-02

5.Sous "Exécuter avec le handling erreur/succès", cliquer sur la touche add, puis choisir d'ajouter une nouvelle étape d'exécution, avec les paramètres suivants :

 

Exécuter la fonction

Définir la valeur sur /RaptorXML/valxml-withxsd. Vous pouvez aussi trouver cette fonction dans tout conteneur qui correspond à une publication RaptorXML spécifique, par exemple /RaptorXML/2019/valxml-withxsd.

Paramètres

Définir la valeur du paramètre Fichier XML sur :

 

C:\Program Files (x86)\Altova\RaptorXMLServer2019\examples\NanonullOrg.xml

 

fs_valxml_job

6.Sous la condition "Sur erreur" cliquer sur la touche add et choisir d'ajouter une nouvelle étape d'exécution, avec les paramètres suivants :

 

Exécuter la fonction

/system/compute

Paramètres

Configurer la valeur d'Expression sur :

 

as-file(stdout(failed-step()))

 

Attribuer ce résultat d'étape à

Saisir une valeur qui identifiera de manière unique le résultat de cette tâche (par exemple, MyResult ). Ce faisant, vous déclarez la valeur en tant que variable afin de pouvoir l'utiliser dans une étape ultérieure.

ex-raptor-01-04

7.Sous l'étape d'exécution précédente, cliquer sur la touche add et choisir d'ajouter une nouvelle étape d'exécution, avec les paramètres suivants :

 

Exécuter la fonction

/system/filesystem/copy

Paramètres

À côté du paramètre Source , cliquer sur ff-setTo et choisir la variable MyResult déclarée plus tôt.

 

À côté du paramètre Cible, saisir le chemin dans lequel le journal sera enregistré (dans cet exemple, le chemin est C:\FlowForce\ValidateFile.log). Veuillez noter que le répertoire C:\FlowForce doit exister sur le serveur dans lequel FlowForce Server est exécuté et vous devez posséder la permission d'écrire dedans.

 

À côté du paramètre Écraser, sélectionner la case à cocher. Le fichier de journal est généré à chaque fois que la tâche est exécutée, cela garantit donc que la tâche n'échoue pas si le fichier de journal existe déjà.

ex-raptor-01-05

8.Sous "Service", cliquer pour sélectionner la case à cocher Rendre cette tâche disponible via HTTP et saisir ValidateFile en guise de nom du service.
9.Sous "Identifiants", choisir une entrée d'identifiant existante ou spécifier un identifiant local (voir Identifiants).
10.Cliquer sur Enregistrer.

 

Pour tester la tâche, saisir http://127.0.0.1:4646/service/ValidateFile dans la barre d'adresse du navigateur, si FlowForce Server est exécuté sous 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 Configurer l'adresse de réseau et le port ), changer l'adresse en conséquence. Une fois invité à accéder le service Web, saisir les mêmes identifiants que vous utilisez pour vous inscrire dans FlowForce Server.

 

Si la tâche est exécutée avec succès (c'est à dire, si elle retourne le code de sortie "0"), le navigateur affiche la sortie standard de la tâche, par exemple :

 

file:///C:/Program%20Files%20(x86)/Altova/RaptorXMLServer/examples/NanonullOrg.xml: runtime="16ms" result="OK"

 

Si la tâche retourne un code de sortie autre que "0" (par exemple, en raison d'un chemin incorrect, des erreurs de validation, etc), le navigateur affiche un message "Échec de l'exécution de service" et la sortie est écrite dans le fichier C:\FlowForce\ValidateLog.log. Dans le cas où le fichier de journal n'a pas été généré, vérifier le journal de la tâche dans FlowForce Server pour identifier l'erreur (voir Consulter le journal de tâche). Il se peut, par exemple, que la fonction /system/filesystem/copy ait échoué parce que vous ne détenez pas la permission d'écrire dans le chemin cible, dans quel cas le fichier de journal ne peut pas être généré.


© 2019 Altova GmbH