Guide pratique pour valider un message à l’aide d’un chemin d’entrée ESB
Objectif
Cette section montre comment configurer le composant de pipeline Désassembler ESB Dispatcher afin d’effectuer la validation des messages XML envoyés à une rampe ESB.
Dans cette rubrique de procédure, vous allez effectuer les étapes suivantes :
Créez une rampe d’accès ESB qui utilise le pipeline ItinerarySelectReceiveXml .
Configurez le composant de pipeline de désassemblement du répartiteur ESB pour valider le contenu du message.
Configurez le composant de pipeline sélecteur d’itinéraire pour résoudre l’itinéraire approprié.
Testez la validation des messages à l’aide d’un message valide et d’un message non valide.
Prérequis
Les procédures de cette rubrique pratique nécessitent l’achèvement des conditions préalables pour les activités de développement.
Avant de commencer
Effectuez les tâches suivantes avant d’effectuer les étapes plus loin dans cette rubrique pratique :
Créez un message de test non valide.
Créez un modèle de langage spécifique au domaine (DSL) d’itinéraire ESB.
Configurez les propriétés de l’itinéraire.
Définissez la structure de l’itinéraire.
Exportez le modèle vers la base de données itinéraire.
Les procédures suivantes décrivent comment effectuer chacune de ces opérations.
Pour créer un message de test non valide
Dans Windows Explorer, accédez à C :\HowTos.
Créez une copie de NAOrderDoc.xml, puis renommez le Invalid.xml de copie.
Dans le Bloc-notes, ouvrez Invalid.xml.
Remplacez <ns0 :requestType>10</ns0 :requestType> par <ns0 :requestType>TEN</ns0 :requestType>.
Enregistrez Invalid.xml en tant que UTF-8, puis fermez le Bloc-notes.
Notes
En modifiant la valeur numérique de cet élément en texte, le message n’est plus valide selon le schéma.
Pour créer un modèle DSL d’itinéraire ESB
Dans Visual Studio, ouvrez C :\HowTos\Patterns\Patterns.sln.
Dans Explorateur de solutions, cliquez avec le bouton droit sur ItinéraireLibrary, pointez sur Ajouter, puis cliquez sur Nouvel itinéraire.
Dans la boîte de dialogue Ajouter un nouvel élément , tapez Validation dans la zone Nom , puis cliquez sur Ajouter.
Pour configurer les propriétés de l’itinéraire
Dans Visual Studio, cliquez sur l’aire de conception de Validation.itinerary. Dans le Fenêtre Propriétés validation, configurez les propriétés suivantes :
Dans la liste déroulante Exporter de modèle , cliquez sur Exporter d’itinéraire de base de données.
Cliquez sur le bouton de sélection (...) en regard de la propriété Itinerary Database .
Dans la boîte de dialogue Propriétés de connexion, choisissez le SQL Server qui héberge la base de données du référentiel d’itinéraires, puis spécifiez le nom de la base de données (le nom par défaut est EsbItineraryDb).
Dans la liste déroulante État de l’itinéraire , cliquez sur Déployé.
Notes
Cette étape vous permet d’exporter l’itinéraire vers un référentiel central ; Les itinéraires peuvent être sélectionnés et joints à partir de ce dépôt lorsque le message est reçu. Vous configurerez ultérieurement le composant de pipeline sélecteur d’itinéraire pour utiliser un programme de résolution statique pour sélectionner l’itinéraire approprié à partir de ce dépôt.
Pour définir la structure de l’itinéraire
À partir de la boîte à outils, faites glisser un élément de modèle On-Ramp vers l’aire de conception. Dans le Fenêtre Propriétés OnRamp1, configurez les propriétés suivantes :
Cliquez sur la propriété Name , puis tapez ReceiveNAOrder.
Dans la liste déroulante Extender , cliquez sur On-Ramp ESB Extender.
Dans la liste déroulante Application BizTalk , cliquez sur Microsoft.Practices.ESB.
Dans la liste déroulante Port de réception , cliquez sur OnRamp.Itinerary.
À partir de la Boîte à outils, faites glisser un élément de modèle Off-Ramp vers l’aire de conception, puis placez-le à droite de l’élément de modèle existant. Dans le Fenêtre Propriétés OffRamp1, configurez les propriétés suivantes :
Cliquez sur la propriété Name , puis tapez SendNAOrder.
Dans la liste déroulante Extender , cliquez sur Extension ESB hors rampe.
Dans la liste déroulante Application BizTalk , cliquez sur GlobalBank.ESB.
Dans la liste déroulante Port d’envoi , cliquez sur DynamicResolutionOneWay.
À partir de la boîte à outils, faites glisser un élément de modèle service D’itinéraire vers l’aire de conception, puis placez-le entre l’élément de modèle ReceiveNAOrder et l’élément de modèle SendNAOrder . Dans le Fenêtre Propriétés ItineraryService1, configurez les propriétés suivantes :
Cliquez sur la propriété Name , puis tapez SendPortFilter.
Dans la liste déroulante Extender de service d’itinéraire , cliquez sur Extender hors rampe.
Dans la liste déroulante Hors rampe , développez SendNAOrder, puis cliquez sur Envoyer des gestionnaires.
Cliquez avec le bouton droit sur la collection Resolver de l’élément SendPortFilter , puis cliquez sur Ajouter un nouveau résolveur. Dans le Fenêtre Propriétés Resolver1, configurez les propriétés suivantes :
Cliquez sur la propriété Name , puis tapez ConfigureOffRamp.
Dans la liste déroulante Implémentation du programme de résolution, cliquez sur Extension du programme de résolution statique.
Dans la liste déroulante Nom du transport , cliquez sur FICHIER.
Cliquez sur la propriété Emplacement de transport , puis tapez C :\HowTos\Out\Validated%MessageID%.xml.
Dans la boîte à outils, cliquez sur Connecteur. Faites glisser une connexion de l’élément de modèle ReceiveNAOrder vers l’élément de modèle SendPortFilter .
Dans la boîte à outils, cliquez sur Connecteur. Faites glisser une connexion de l’élément de modèle SendPortFilter vers l’élément de modèle SendNAOrder .
Pour exporter le modèle vers la base de données d’itinéraires
Dans Visual Studio, cliquez avec le bouton droit sur l’aire de conception de l’itinéraire de validation , puis cliquez sur Exporter le modèle.
Notes
L’itinéraire a été exporté vers la base de données d’itinéraires et peut maintenant être utilisé par le composant pipeline sélecteur d’itinéraire.
Enregistrez tous les artefacts de projet.
Étapes
Pour créer et configurer une rampe ESB
Cliquez sur Démarrer dans la barre des tâches, pointez sur Tous les programmes, pointez sur BizTalk Server, puis cliquez sur administration BizTalk Server.
Dans la console d’administration BizTalk Server, développez BizTalk Group, Applications, puis Microsoft.Practices.ESB.
Cliquez avec le bouton droit sur Emplacements de réception, pointez sur Nouveau, puis cliquez sur Emplacement de réception unidirectionnel.
Dans la boîte de dialogue Sélectionner un port de réception , cliquez sur OnRamp.Itinerary, puis sur OK.
Dans la boîte de dialogue Propriétés de l’emplacement de réception, tapez OnRamp.Itinerary.HowTo dans la zone Nom .
Dans la liste déroulante Type , cliquez sur FICHIER, puis sur Configurer.
Dans la boîte de dialogue Propriétés du transport FICHIER , tapez C :\HowTos\DropFolder dans la zone Recevoir le dossier , puis cliquez sur OK.
Pour configurer la rampe d’accès pour effectuer la validation des messages
Dans la boîte de dialogue Propriétés de l’emplacement de réception, dans la liste déroulante Pipeline de réception , cliquez sur ItinerarySelectReceiveXml, puis cliquez sur le bouton de sélection (...).
Utilisez la boîte de dialogue Configurer le pipeline pour configurer les propriétés de composant de désassembleur XML suivantes :
Développez l’application GlobalBank.Esb, puis cliquez sur Schémas. Cliquez avec le bouton droit sur GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc, puis cliquez sur Propriétés. Copiez les propriétés Name et Assembly et collez-les dans un fichier texte.
Dans le composant Désassembler , cliquez sur True dans la liste déroulante ValidateDocument .
Cliquez sur la propriété DocumentSpecNames , puis tapez le nom complet du schéma. Le nom complet commence par le nom et est suivi d’une virgule et des informations d’assembly extraites à l’étape a. Par exemple :
GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc, GlobalBank.ESB.DynamicResolution.Schemas, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c2c8b2b87f54180a
Notes
Il s’agit du nom complet du schéma à valider ; il est composé du nom du schéma et de quatre propriétés d’assembly : nom de l’assembly, version, culture et jeton de clé publique. Plusieurs valeurs sont autorisées ; séparer plusieurs schémas par un symbole de canal (|).
Pour configurer le composant pipeline sélecteur d’itinéraire
Dans la boîte de dialogue Configurer le pipeline , configurez les propriétés suivantes du composant Sélecteur d’itinéraire :
Cliquez sur la propriété ItineraryFactKey , puis tapez Resolver.Itinerary.
Cliquez sur la propriété ResolverConnectionString , puis tapez ITINERARY :\\name=Validation ;.
Cliquez sur OK pour fermer la boîte de dialogue Configurer le pipeline .
Cliquez sur OK pour fermer la boîte de dialogue Propriétés de l’emplacement de réception.
Dans la console d’administration BizTalk Server, cliquez avec le bouton droit sur l’emplacement de réception OnRamp.Itinerary.HowTo, puis cliquez sur Activer.
Pour tester la validation du message et la sélection de l’itinéraire
Dans Windows Explorer, accédez à C :\HowTos.
Copiez (ne déplacez pas) NAOrderDoc.xml dans le dossier DropFolder.
Accédez à C :\HowTos\Out. Vérifiez que Validated%MessageID%.xml a été écrit dans le répertoire.
Notes
Le message valide a terminé son routage basé sur l’itinéraire, comme prévu.
Supprimez Validated%MessageID%.xml du dossier Out.
Dans Windows Explorer, accédez à C :\HowTos.
Copiez (ne déplacez pas) Invalid.xml dans le dossier DropFolder.
Accédez à C :\HowTos\Out. Vérifiez qu’aucun nouveau message n’a été remis.
Notes
Le message n’a pas pu être validé ; Par conséquent, le routage basé sur l’itinéraire n’a pas pu être effectué.
Cliquez sur Démarrer dans la barre des tâches, pointez sur Outils d’administration, puis cliquez sur observateur d'événements.
Dans observateur d'événements, développez Journaux Windows, puis cliquez sur Application.
Recherchez un événement récent où la source est BizTalk Server et où l’ID d’événement est 5719.
Notes
L’envoi et l’échec du message non valide ont entraîné une entrée d’exception dans le journal des événements de l’application.
Dans la console d’administration BizTalk Server, cliquez avec le bouton droit sur l’emplacement de réception OnRamp.Itinerary.HowTo, puis cliquez sur Désactiver.
Une fois l’emplacement de réception OnRamp.Itinerary.HowTo désactivé, cliquez dessus avec le bouton droit, puis cliquez sur Supprimer. Dans la boîte de dialogue Confirmer la suppression de l’emplacement de réception , cliquez sur Oui.
Ressources supplémentaires
Pour plus d'informations, consultez les rubriques connexes suivantes :