Précédent   Forum du club des développeurs et IT Pro > Systèmes > Windows > Windows Serveur > BizTalk Server
BizTalk Server Forum d'entraide BizTalk Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/10/2012, 15h24   #1
bob633
Membre Expert
 
Homme Aurélien VDC
Développeur .NET / Biztalk
Inscription : octobre 2008
Messages : 979
Détails du profil
Informations personnelles :
Nom : Homme Aurélien VDC
Âge : 25
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur .NET / Biztalk

Informations forums :
Inscription : octobre 2008
Messages : 979
Points : 1 496
Points : 1 496
Par défaut Catch exception et warning

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
bob633 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2012, 17h10   #2
Trublion
Futur Membre du Club
 
Inscription : mai 2003
Messages : 16
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 16
Points : 18
Points : 18
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.
Trublion est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2012, 16h36   #3
bob633
Membre Expert
 
Homme Aurélien VDC
Développeur .NET / Biztalk
Inscription : octobre 2008
Messages : 979
Détails du profil
Informations personnelles :
Nom : Homme Aurélien VDC
Âge : 25
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur .NET / Biztalk

Informations forums :
Inscription : octobre 2008
Messages : 979
Points : 1 496
Points : 1 496
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
bob633 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h58.


 
 
 
 
Partenaires

Hébergement Web