12 mai 2012

INFOPATH FORMS SERVICES : Tracer exceptions

InfoPath offre la grande puissance de pouvoir utiliser du code managé pour réaliser tous les besoins de chaque formulaire qui ne sont pas réalisable par l'interface. Mais même un code très bien conçu peut générer des exceptions (problème matériel, de configuration, de paramètrage...).

Il est donc primordial de tracer ou afficher ces erreurs lorsqu'une exception est remontée dans un formulaire Forms Services ou un formulaire client lourd.


Les 2 meilleures solutions pour tracer les erreurs dans un formulaire Forms Services restent les suivantes :
  • Afficher l'erreur à l'écran : Affecter le message de l'exception à un champ compris dans le XML de votre formulaire. Il est même préférable de créer une vue d'erreur comprenant ce champ et d'afficher celle-ci dès qu'une erreur survient.
  • Logguer l'erreur dans les logs SharePoint : Pour cela il faut utiliser la méthode suivante: Microsoft.Office.Server.Diagnostic.PortalLog.LogString("mon exception");
    Il est de même possible d'utiliser la méthode DebugLogString (description ici: http://msdn.microsoft.com/en-us/library/microsoft.office.server.diagnostics.portallog.debuglogstring.aspx) qui permet de préciser un niveau de log : verbose, critique, information...

Ces 2 méthodes permettent à la fois d'afficher l'erreur à l'utilisateur final mais aussi de la tracer par le même temps dans les logs SharePoint afin qu'un administrateur puisse étudier les problèmes rencontrés.

Bon dev'.