Activité Tenter

L'activité Tenter... tente d'exécuter la ou les activités de la branche Tenter principale.

Pourquoi et quand exécuter cette tâche

Si une exception a lieu lors de l'exécution de la ou des activités de la branche Tenter principale, la branche d'd'interception globale est exécutée.

Par exemple, la branche Tenter principale peut appeler l'activité Base de données, Insérer lignes, comme illustré dans la figure suivante :

Si l'activité Base de données, Insérer lignes échoue et émet une exception, l'activité ou les activités de la branche d'interception globale sont exécutées. Dans cet exemple d'orchestration, lorsqu'une exception est émise par l'activité Base de données, Insérer lignes, l'activité Terminer s'exécute et termine le travail d'orchestration en cours.

Pour ajouter et configurer une activité Tenter, procédez comme suit :

Procédure

  1. Ouvrez l'onglet Activités et le dossier Logique.
  2. Faites glisser l'activité Tenter sur l'orchestration. L'activité Tenter apparaît avec les branches suivantes :
    • Branche Tenter
    • Branche Interception globale
    Lorsque la première branche d'interception globale est créée, les variables suivantes sont automatiquement créées :
    • faultName - Pendant l'exécution, la variable faultName contient le nom de l'exception émise par une activité dans la branche Tenter.
    • faultData - Pendant l'exécution, la variable faultData contient le message d'erreur associé à l'exception. Ces informations supplémentaires sont uniquement renvoyées par les activités des services Web. Pour les activités des services Web, la variable faultData contient l'erreur.
    • faultInfo - Pendant l'exécution, la variable faultInfo renvoie les noeuds suivants :
      • name - Pendant l'exécution, le noeud faultInfo/name contient le nom de l'exception émise par l'activité dans la branche Tenter. Le noeud faultInfo/name est de type xsd:QName.
      • message - Pendant l'exécution, le noeud faultInfo/message contient le message d'erreur associé à l'exception. Le noeud faultInfo/message est de type xsd:string.
      • activityId - Pendant l'exécution, le noeud faultInfo/activityId contient l'ID activité qui identifie de manière unique l'activité où l'exception s'est produite. Le noeud faultInfo/activityId est de type xsd:int.
      • activityName - Pendant l'exécution, le noeud faultInfo/activityName contient le nom de l'activité où l'exception s'est produite. Le noeud faultInfo/activityName est de type xsd:string.
      • faultTime - Pendant l'exécution, le noeud faultInfo/faultTime contient l'heure à laquelle l'erreur s'est produite. Le noeud faultInfo/faultTime est de type xsd:dateTime.
      Remarque : Il se peut que le nom d'exception renvoyé par une activité dans la variable faultName et le noeud faultInfo/name soient modifiés dans une édition ultérieure.
  3. Configurez les branches Tenter et Interception globale en déplaçant des activités de l'onglet Activités vers les branches de l'activité Tenter, comme illustré dans les figures précédentes et suivantes.
    Avertissement : La portée des variables faultName, faultData et faultInfo est limitée à la branche Interception globale de l'activité Tenter. Cette limitation de portée signifie que la valeur de ces variables est valide uniquement dans la branche Interception globale. Par exemple, si vous ajoutez une activité Si...alors qui teste la valeur de la variable faultName, l'activité Si..alors doit être placée dans la branche Interception globale de l'activité Tenter, comme illustré dans la figure suivante :