BizTalk peut, via l’adapter POP3, réceptionner des messages envoyés dans une boîte aux lettres. BizTalk scrute la boîte aux lettres, extrait l’email (le supprime de la boîte) et, en fonction de la configuration de l’emplacement de réception, récupère le body du mail et les attachements.

Lorsqu’un message est publié dans la MessageBox en provenance d’une boîte aux lettres, son contexte contient des propriétés spécifiques de l’adapter POP3 (namespace http://schemas.microsoft.com/BizTalk/2003/pop3-properties), notamment :

  • Le sujet du mail (Subject)
  • L’émetteur du mail (From)
  • Le ou les destinataires (To)

La liste complète des propriétés contextuelles est ici : http://msdn.microsoft.com/en-us/library/aa560937.aspx

Vous pouvez ainsi lire ces propriétés pour procéder à des traitements particuliers sur les messages, soit pour les router vers des applications ou destinataires (grâce à des filtres), soit pour construire de nouveaux messages via une orchestration par exemple.

L’un de mes clients utilise ce mécanisme dans le scénario suivant:

  • Des scanners de documents réceptionnent des documents papier et produisent des PDF;
  • Les PDF produits sont envoyés par email (en attachement) à une boîte aux lettres générique;
  • BizTalk écoute cette boîte aux lettres générique. Le mail et les PDF en attachement sont réceptionnés dans la MessageBox et traités par une orchestration;
  • Chaque PDF est ensuite déposé dans une arborescence de répertoire ou dans une librairie documentaire d’une GED.

Le travail de récupération des PDF en attachement et d’envoi dynamique dans un répertoire ou une librairie documentaire d’une GED est réalisé via une orchestration et un port d’envoi dynamique.

Pour déterminer l’emplacement de dépôt des PDF réceptionnés, l’orchestration se sert du contenu de la propriété POP3.To. Cette propriété contient l’adresse email de la boîte aux lettres source. En fonction de son contenu, le chemin du répertoire de dépôt peut être déterminé (c’est une règle de gestion du client).

La lecture de la propriété est effectuée dans l’orchestration grâce une shape Expression et le code suivant : msgScanner(POP3.To).

Tout fonctionne bien car la propritété POP3.To est toujours présente dans le contextesauf dans certains cas !

En effet, la propriété POP3.To n’est pas dans le contexte du message si le contenu du champ “To” de l’email est trop volumineux. Dans certains scénarios métiers chez ce client, le scanner envoi le PDF à d’autres destinataires en plus de la BAL générique.

Lors de la réception du mail, l’adapter POP3 tente de promouvoir la propriété To mais ne peut le faire car son contenu excède la limite des 256 caractères d’une propriété promue. De ce fait, la propriété n’est pas dans le contexte…

Dommage que la propriété ne soit pas tout de même présente mais non promue (car dans ce cas, il n’y a pas la limite des 256 caractères).

😦


Tout le monde sait comment promouvoir une propriété depuis un composant de pipeline BizTalk (méthode Promote de la classe Context).

Mais savez vous comment dé-promouvoir une propriété qui est déjà promue ?

C’est tout simple, il suffit d’écrire de nouveau la propriété dans le contexte avec la méthode Write de la classe Context.

Ne pas confondre avec la “démotion” de propriétés qui elle permet de prendre une donnée dans le contexte d’un message pour l’écrire dans le body du message.

ici.


Les webcasts des différentes sessions des TechDays 2010 sont disponibles sur le site Microsoft depuis le début de la semaine.

L’occasion de vous indiquer que la session ARC204 “Mettre en place un bus de service d’entreprise avec BizTalk Server 2009 et AppFabric” que j’ai co-animé avec Benjamin Guinebertière de Microsoft est également visualisable.

Pour consulter cette vidéo sur le site Internet de Microsoft c’est ici.


En attendant la publication des webcasts des TechDays 2010, vous pouvez consulter la vidéo des démonstrations publiée par Benjamin Guinebertière (http://tinyurl.com/yb76p43).

Je vous propose maintenant de télécharger le code source des démonstrations:

– Solution BizTalk 2009 + ESB Toolkit

– Solution Windows Azure AppFabric + Windows Server AppFabric

Le code source est disponible ici : http://cid-034bbd9ec4e51939.skydrive.live.com/browse.aspx/Public/ARC204

Si vous avez des questions pour comprendre le code source et le faire fonctionner, laissez un commentaire sur ce post.


Je vous parlais dans ce post (http://blog.noveli.fr/2009/12/10/livre-biztalk-en-franais/) de mon livre BizTalk Server 2009 publié aux éditions ENI.

Ce livre est désormais disponible à la vente en suivant ce lien : http://tinyurl.com/livreBizTalk2009

Vous pouvez également retrouver le livre lors des TechDays 2010 (8, 9 et 10 février 2010) à Paris :

– Sur le stand des éditions ENI

– Lors des jeux concours organisés par Microsoft pour gagner des exemplaires du livre.


Le SP1 de BizTalk Server 2006 R2 est disponible depuis hier. Il arrive finalement plus tôt que prévu car tout le monde l’attendait en même temps que BizTalk 2009 R2. Bonne nouvelle !

Pour le télécharger : http://www.microsoft.com/downloads/details.aspx?FamilyID=1768f7a3-d843-4f5b-aba7-b3d72892c16f&displaylang=en


Les sessions de l’événement Integration RoadShow (dont je vous parlais dans ce post http://blog.noveli.fr/2009/11/10/business-integration-roadshow-le-1er-dcembre-2009-paris/) sont désormais en ligne sur le site :http://www.microsoft.com/france/vision/Roadshow/Default.aspx

Vous pouvez consulter la présentation de l’architecture de services UNESCO sur laquelle j’ai eu la chance de travailler : http://tinyurl.com/integrationRoadShow-Unesco.