Lorsqu'une erreur se produit lors du traitement de la requête d'une application
client, la liaison d'exportation peut renvoyer les informations d'erreur au client. Vous pouvez configurer la liaison d'exportation pour spécifier la manière dont l'erreur doit être traitée et renvoyée au client.
Vous pouvez configurer la liaison d'exportation à l'aide de WebSphere Integration Developer.
Lors du traitement de la requête, un client appelle une exportation avec une requête et l'exportation appelle le composant SCA. Lors du traitement de la requête, le composant SCA peut
renvoyer une réponse métier ou émettre une exception métier de service ou une exception
d'exécution de service. Lorsque cela se produit, la liaison d'exportation transforme l'exception en un message d'erreur et l'envoie
au client, comme indiqué dans la figure ci-dessous et décrit dans les sections suivantes.
Figure 1. Manière dont les informations sont envoyées du composant vers le client via la liaison d'exportation
Vous pouvez créer un gestionnaire de données personnalisé ou une liaison de données pour gérer les erreurs.
Erreurs métier
Les erreurs métier sont des erreurs ou des exceptions métier qui se produisent lors du traitement.
Considérez l'interface suivante présentant une opération createCustomer.
Cette opération se caractérise par deux erreurs métier définies : CustomerAlreadyExists et MissingCustomerId.
Figure 2. Interface avec deux erreurs
Dans cet exemple, si un client envoie une requête pour créer un client (à ce composant SCA) et que le client existe déjà, le composant émet une erreur CustomerAlreadyExists vers l'exportation.
L'exportation doit propager cette erreur métier en retour au client appelant. Pour ce faire, elle utilise le gestionnaire de données configuré sur la liaison d'exportation.
Lorsqu'une erreur métier est reçue par la liaison d'exportation, le traitement suivant se produit :
- La liaison détermine le gestionnaire de données d'erreurs à appeler pour gérer les erreurs. Si l'exception métier de service contient le nom de l'erreur, le gestionnaire de données configuré sur l'erreur est appelé. Si l'exception métier de service ne contient pas le nom de l'erreur, ce nom est dérivé en faisant correspondre les types d'erreur.
- La liaison appelle le gestionnaire de données d'erreurs avec l'objet de données à partir de l'exception métier de service.
- Le gestionnaire de données d'erreur transforme l'objet données d'erreur en un message de réponse et le renvoie à la liaison d'exportation.
- L'exportation renvoie le message de réponse au client.
Si l'exception métier de service contient le nom de l'erreur, le gestionnaire de données configuré sur l'erreur est appelé. Si l'exception métier de service ne contient pas le nom de l'erreur, ce nom est dérivé en faisant correspondre les types d'erreur.
Exceptions d'exécution
Une exception d'exécution est une exception qui se produit dans l'application SCA lors du traitement d'une requête qui ne correspond pas à une erreur métier. Contrairement aux erreurs métier, les exceptions d'exécution ne sont pas définies sur l'interface.
Dans certains scénarios, il est possible que vous souhaitiez propager ces exceptions d'exécution à l'application client de telle sorte que l'application client puisse entreprendre l'action appropriée.
Par exemple, si un client envoie une requête (au composant SCA) pour créer un client et qu'une erreur d'autorisation se produit lors du traitement de la requête, le composant émet une exception d'exécution. Cette exception d'exécution doit être propagée en retour au client appelant de telle sorte qu'il puisse entreprendre l'action appropriée en ce qui concerne l'autorisation. Cette opération est accomplie par le gestionnaire de données d'exception d'exécution configuré sur la liaison d'exportation.
Remarque : Vous pouvez configurer un gestionnaire de données d'exception d'exécution uniquement sur des liaisons HTTP.
Le traitement d'une exception d'exécution est identique au traitement d'une erreur métier. Si un gestionnaire de données d'exception d'exécution était configuré, le traitement suivant se produit :
- La liaison d'exportation appelle le gestionnaire de données approprié avec l'exception d'exécution de service.
- Le gestionnaire de données transforme l'objet données d'erreur en un message de réponse et le renvoie à la liaison d'exportation.
- L'exportation renvoie le message de réponse au client.
La gestion des erreurs et la gestion des exceptions d'exécution sont facultatives.
Si vous ne voulez pas propager les erreurs et les exceptions d'exécution au client appelant, ne configurez pas le gestionnaire de données d'erreur ou le gestionnaire de données d'exception d'exécution.