RAISEEXCEPTION

Aperçu

L'application de workflow RAISEEXCEPTION déclenche les exceptions d'annulation sur les actions spécifiées, contrôlées par l'exception de workflow d'annulation d'action dans le panneau de définition des conditions. Cette application de workflow peut ainsi être appelée par une action pour annuler une ou plusieurs autres actions dans une requête en cours. L'application est convertie en assembly de workflow pour simplifier la configuration et améliorer les performances.

Vous pouvez supprimer l’application dans la console IIS ainsi que le dossier physique sur le serveur (\wfgen\WfApps\WebServices\RaiseException). Par ailleurs, les paramètres d’authentification dans la déclaration de l’application de workflow ne sont pas nécessaires.

Ce dispositif est utile quand une ou plusieurs actions doivent être annulées après qu'un certain point dans le workflow ait été atteint, quoique ces actions aient été déjà activées. Comme exemple, si trois actions parallèles sont actives, mais une des actions parallèles est conclue avant les autres et vos règles de workflow déterminent que les deux autres actions ne sont plus exigées, vous pourriez activer le RAISEEXCEPTION pour annuler les deux autres actions et pour permettre le déroulement du workflow.

De plus, vous pouvez :

  • Utiliser les paramètres par défaut pour annuler toutes les actions d’une demande identifiée.

  • Utiliser les paramètres facultatifs pour annuler une liste d’actions instanciées dans une liste de demandes ou pour effectuer une annulation à la place d’un utilisateur défini.

  • Utiliser les paramètres supplémentaires pour définir plusieurs couples de références d’actions.

Paramètres par défaut

Les paramètres REQUEST_ID et ACTIVITY_NAME doivent être utilisés ensemble.

Paramètre

Type

Direction

Description

REQUEST_ID

Numeric

IN

L'ID de la demande dans laquelle l’action sera annulée

ACTIVITY_NAME

Text

IN

Le nom de l’action qui sera annulée

📌 Exemple

Dans cet exemple, l’application va annuler tous les instances de l’action PENDING_ACTION dans la demande 455 :

REQUEST_ID = 455  
ACTIVITY_NAME = "PENDING_ACTION"

Paramètres facultatifs

Les paramètres REQUEST_ID_LIST et ACTIVITY_NAME_LIST doivent être utilisés ensemble.

Paramètre

Type

Direction

Description

REQUEST_ID_LIST

TEXT

IN

Liste d’IDs de demandes dans lesquelles l’action sera annulée

ACTIVITY_NAME_LIST

TEXT

IN

Liste d’IDs de demandes dans lesquelles l’action sera annulée

USERNAME

TEXT

IN

Utilisé pour définir le nom d’utilisateur (username) utilisé pour annuler l’action ✏️ Notes :

  • Le nom d’utilisateur utilisé doit faire partie d’un participant du processus.

  • Si ce paramètre n’est pas défini le compte utilisé est le compte défini dans Identité par défaut du service de moteur de workflow dans la section Sécurité de l'onglet Général du Panneau de configuration.

PASSWORD

TEXT

IN

Utilisé pour définir le mot de passe associé au nom d’utilisateur utilisé pour annuler l’action

EXCEPTION_NAME

Exception qui sera déclenchée sur l'action

Valeurs possibles :

  • CANCEL

  • ERROR

  • TIMEOUT

  • ASSIGNMENT_ERROR

EXCEPTION_MESSAGE

Ce paramètre est utilisé avec le nom de l’exception ERROR pour fournir plus de détails sur l'erreur dans la mesure de suivi

📌 Exemples

Dans cet exemple l’application va annuler toutes les instances des actions PENDING_ACTION1 et PENDING_ACTION2 dans les demandes 445, 446 et 447 :

REQUEST_ID_LIST = "455, 456, 457"  
ACTIVITY_NAME_LIST = "PENDING_ACTION1, PENDING_ACTION2"

Dans cet exemple l’application va annuler toutes les instances des actions nommées PENDING_ACTION dans la demande 445 à la place de Jean Dupont (jdupont):

REQUEST_ID = "455"  
ACTIVITY_NAME = "PENDING_ACTION"  
USERNAME = "jdupont"  
PASSWORD = "1234"

Paramètres supplémentaires

Paramètre

Type

Direction

Description

EX?_REQUEST_ID

Numeric

IN

Définit l’ID de la demande dans laquelle l’action sera annulée pour le couple spécifié par le ? (point d’interrogation)

EX?_ACTIVITY_NAME

Text

IN

Définit le nom de l’action qui sera annulée pour le couple spécifié par le ? (point d’interrogation)

IGNORE_NOTHINGTODO_ERROR

Text

IN

Ignorer l'erreur Nothing to do (rien à faire)

Par défaut, RAISEEXCEPTION renvoie une erreur si vous essayez d’annuler une action qui ne possède aucune instance ouverte. Si vous définissez ce paramètre sur Y, l’application ignorera ce type d’erreur.

📌 Exemple

Dans cet exemple l’application va annuler toutes les instances de l’action PENDING_ACTION1 dans la demande 455 et toutes les instances de l’action PENDING_ACTION2 dans la demande 456. Si les actions 455 et 456 n’ont pas d’instance ouverte aucune erreur n’est remontée.

EX1_REQUEST_ID = 455  
EX1_ACTIVITY_NAME = "PENDING_ACTION1"  
EX2_REQUEST_ID = 456  
EX2_ACTIVITY_NAME = "PENDING_ACTION2"  
IGNORE_NOTHINGTODO_ERROR = "Y"

Erreurs d’exécution possibles

Les erreurs suivantes peuvent se produire lors de l’exécution de l’application :

Erreur

Cause

Solution

Erreur RaiseException : Le contexte WorkflowGen est vide

Tous les paramètres RAISE_EXCEPTION sont vides

Vérifiez les paramètres RAISE_EXCEPTION

Erreur RaiseException : Les paramètres de l’application ne sont pas saisis correctement

Les paramètres RAISE_EXCEPTION ne sont pas remplis correctement

Vérifiez les paramètres RAISE_EXCEPTION

(Exception Web WorkflowGen) Statut HTTP : ... Réponse de l’erreur : ... or The FUNCTION_NAME parameter was not found

Une erreur est survenue lors de l’émission de la requête HTTP à WorkflowGen

Vérifiez le statut HTTP : 401 : erreur de sécurité Vérifiez vos paramètres d’authentification 404 : Impossible de se connecter à l’URL 500 : Erreur interne du serveur Vérifiez les indications dans les messages d’erreur renvoyés

Erreur RaiseException : Erreur lors de la tentative de connexion à la base de données WorkflowGen Message d’erreur : ....

Une erreur est survenue lors de la tentative de connexion à la base de données WorkflowGen

Vérifiez la chaîne connexion dans le fichier « web.config ». Vérifiez les indications dans les messages d’erreur renvoyés.

(Erreur RaiseException) Paramètres : <Nom du paramètre de l’ID de demande >/<Nom du paramètre du nom de l’action > Erreur : WorkflowGen a levé une exception de sécurité.

L’utilisateur défini par les paramètres IDENTITY n’est pas participant du processus

Vérifiez les paramètres IDENTITY_USERNAME et IDENTITY_PASSWORD. Identifiez la demande avec les noms des paramètres retournés dans le message d’erreur.

(Erreur RaiseException) Paramètres <Nom du paramètre de l’ID de demande >/<Nom du paramètre du nom de l’action > Erreur : L’action <Nom de l’action/activité > n’existe pas dans la demande <Identifiant de la demande >.

Un des noms d’action définis dans les paramètres RAISE_EXCEPTION n’existe pas.

Vérifiez les paramètres RAISE_EXCEPTION. Vérifiez les indications dans les messages d’erreur renvoyés.

(Erreur RaiseException) Paramètres <Nom du paramètre de l’ID de demande >/<Nom du paramètre du nom de l’action > Erreur : L’action n’a pas d’instance dans la demande <Identifiant de la demande >.

Une des actions à annuler n’est pas ouverte.

Vérifiez les paramètres RAISE_EXCEPTION. Vérifiez les indications dans les messages d’erreur renvoyés. Définissez le paramètre IGNORE_NOTHINGTODO_ERROR sur Y afin d’ignorer ce type d’erreur.