+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre Expert
    Homme Profil pro
    Développeur .NET / Biztalk
    Inscrit en
    octobre 2008
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : octobre 2008
    Messages : 1 044
    Points : 1 637
    Points
    1 637

    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

  2. #2
    Membre à l'essai
    Inscrit en
    mai 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : mai 2003
    Messages : 17
    Points : 20
    Points
    20

    Par défaut

    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.

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur .NET / Biztalk
    Inscrit en
    octobre 2008
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : octobre 2008
    Messages : 1 044
    Points : 1 637
    Points
    1 637

    Par défaut

    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

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •