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
:
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
:
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
):
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.
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.