|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Aurélien VDCDéveloppeur .NET / Biztalk Inscription : octobre 2008 Messages : 979 ![]() |
Bonjour,
Je me retrouve confronter à un petit soucis. J'ai une interface simple. Cette interface récupère un fichier XML, le mappe à SAP, et loggue le retour SAP. Jusque là pas de soucis. Toutes mes actions sont dans un try catch, pas de soucis. Cependant, lorsque la connexion à SAP échoue, ca passe en warning. Biztalk refait ces 3 essais (configurer par défaut), ca passe en erreur. Par contre, jamais je ne passe dans le catch, et donc j'ai jamais de retour de LOG dans le cas d'une erreur. Les lignes apparaissent donc directement dans l'event viewer, ce qui n'est pas terrible. Quelqu'un sait comment gérer le catch avec cette histoire de warning / error ? Merci d'avance
__________________
Règle N° 1 : Si tout va bien, ne touchez à rien. Je ne réponds pas au MP technique, inutile donc de poser vos questions. Le forum est là pour ça |
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : mai 2003 Messages : 16 ![]() |
Salut,
Les blocs try-catch interceptent les erreurs uniquement au sein des orchestrations (par exemple si tu valides les messages reçus vis-à-vis de leurs schémas). Les erreurs sur les send ports interviennent en dehors des orchestrations, mêmes si ces dernières peuvent déclencher l’exécution d'un port d'envoi, y compris si le binding est direct. L'écriture dans l'event log ne pourra pas être contournée si un pipeline ou un adaptateur lève une exception, par contre tu peux activer le routage pour les messages en erreur : Using Failed Message Routing Je n'ai pas encore utilisé cette technique mais je l'envisage pour la gestion des erreurs au niveau global (tous types de flux confondus). Si tu veux créer un log personnel (DB, fichier, mail, etc.) je pencherai pour une orchestration avec les conditions de filtres adéquates (par exemple le nom du port d'envoi supervisé si l'orchestration lui est dédiée) sur la receive shape qui déclenche l'activation. |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Aurélien VDCDéveloppeur .NET / Biztalk Inscription : octobre 2008 Messages : 979 ![]() |
Merci pour la réponse.
Finalement, j'ai trouvé une propriété sur les 'Send ports' qui permettrait de générer un objet de type DeliveredExceptionFailed. Il faut ainsi isoler le send port en question dans un try catch et récupérer cet objet dans le catch. Le send port doit être configurer à 0 tentatives (afin que l'error soit générée direct et pas un warning pendant x essais).
__________________
Règle N° 1 : Si tout va bien, ne touchez à rien. Je ne réponds pas au MP technique, inutile donc de poser vos questions. Le forum est là pour ça |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com