Étape 3c : insérer des détails d'opportunité dans une base de données SQL Server
À présent, nous avons créé l'orchestration pour envoyer une requête à Salesforce et recevoir une réponse. Dans cette section, nous allons mettre à jour cette orchestration pour insérer la réponse de Salesforce dans une table OrderDetails d’une base de données SQL Server locale, Orders. Pour y parvenir, nous allons effectuer les différentes étapes suivantes :
Créez une table OrderDetails dans une base de données Orders dans une base de données SQL Server locale.
Utilisez le complément Consume Adapter Service disponible avec le pack d’adaptateurs BizTalk pour générer le schéma de l’opération Insert sur la table OrderDetails .
Créez une carte pour transformer le message de réponse Salesforce en message à insérer dans la table OrderDetails dans SQL Server.
Mettez à jour l’orchestration pour utiliser la transformation pour insérer le message de réponse dans la table OrderDetails .
Créer une table et une base de données SQL Server
Pour créer la base de données et la table
Ouvrez SQL Server Management Studio et connectez-vous en tant qu'administrateur.
Cliquez avec le bouton droit sur le nœud Bases de données , puis cliquez sur Nouvelle base de données. Spécifiez le nom de la base de données en tant que
Orders
et spécifiez d’autres détails pour créer une base de données.Ouvrez un éditeur de requête et exécutez la requête suivante pour créer une table OrderDetails dans la base de données Orders :
USE [Orders] GO /****** Object: Table [dbo].[OrderDetails] Script Date: 07-12-2012 22:15:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[OrderDetails]([ID] [int] IDENTITY(1,1) NOT NULL, [TITLE] [varchar](200) NULL, [ProductName] [varchar](200) NULL, [Quantity] [float] NULL, [Amount] [float] NULL, PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] GO SET ANSI_PADDING OFF GO
Créer un schéma pour réaliser l'opération Insert sur la table OrderDetails
L’installation du pack d’adaptateurs BizTalk fournit un complément Consume Adapter Service qui peut être utilisé dans un projet BizTalk Server pour générer le schéma de l’opération Insert sur la table OrderDetails. Cette section présente les étapes à suivre pour créer le schéma de message.
Pour créer le schéma de l'opération Insert
Cliquez avec le bouton droit sur le projet BtsSalesforceIntegration , pointez sur Ajouter, puis cliquez sur Ajouter des éléments générés. Dans la boîte de dialogue Ajouter des éléments générés , cliquez sur Consommer le service d’adaptateur, puis sur Ajouter.
Dans le complément Consume Adapter Service, dans la liste déroulante Sélectionner une liaison, cliquez sur sqlBinding, puis sur Configurer.
Dans la boîte de dialogue Configurer l’adaptateur, sous l’onglet Sécurité, pour Type d’informations d’identification du client, sélectionnez Windows pour utiliser Authentification Windows pour vous connecter à SQL Server base de données.
Dans la boîte de dialogue Configurer l’adaptateur , sous l’onglet Propriétés de l’URI , pour Catalogue initial , spécifiez le nom de la base de données (Commandes) à laquelle se connecter. Pour Serveur, spécifiez le nom de l’ordinateur où SQL Server auquel vous vous connectez est installé. Si la base de données SQL Server se trouve sur le même ordinateur que le projet BizTalk Server, vous pouvez simplement placer un point (.). Cliquez sur OK.
Dans le complément Consommer le service de l’adaptateur, cliquez sur Se connecter. Une fois la connexion établie, sélectionnez le type de contrat Client(opérations sortantes). Dans la zone Sélectionner une catégorie , développez Tables, cliquez sur Table OrderDetails , puis dans le volet droit, cliquez sur Insérer , puis sur Ajouter.
Spécifiez un préfixe de nom de fichier si vous souhaitez préfixer les schémas générés avec un identificateur. Pour ce tutoriel, nous allons spécifier le préfixe InsertOrders , puis cliquer sur OK.
Un tas de schémas sont ajoutés au projet. Le schéma que nous allons utiliser pour insérer des messages dans la table OrderDetails est InsertOrdersTableOperation.dbo.OrderDetails.xsd.
Mapper une réponse de Salesforce et insérer des schémas
Maintenant que nous avons les deux schémas (réponse de Salesforce et insertion dans OrderDetails), nous devons mapper le schéma de réponse de Salesforce au schéma d’insertion pour OrderDetails afin que le message de réponse de Salesforce puisse être inséré dans la table de base de données SQL Server.
Pour mapper les schémas
Cliquez avec le bouton droit sur le projet BtsSalesforceIntegration , pointez sur Ajouter, cliquez sur Nouvel élément, puis sur Carte. Spécifiez le nom de la carte,
QueryResult_Orders.btm
puis cliquez sur Ajouter.Sur la surface de la carte, pour le schéma source, sélectionnez QueryResult et, pour le schéma de destination, sélectionnez InsertOrdersTableOperation.dbo.OrderDetails.xsd , puis dans celui-ci, le nœud Insert .
Mappez les deux schémas comme le montre la capture d'écran ci-dessous :
Notez que la carte utilise un fonctoid Bouclage entre les enregistrements et le lien OrderDetails . Cela garantit que toutes les occurrences ou plusieurs occurrences de nœuds sous les enregistrements sont mappées à des occurrences similaires de nœuds sous OrderDetails.
Enregistrez les modifications apportées au mappage.
Mettre à jour l'orchestration pour insérer des messages dans SQL Server
Dans cette section, nous allons utiliser le mappage de l'orchestration pour transformer le message de réponse de Salesforce en message pour insérer des détails de la commande dans une table SQL Server. Nous allons également ajouter un port pour envoyer ce message à SQL Server.
Pour mettre à jour l'orchestration
Créez un message variable pour le schéma d'insertion. Dans la vue d’orchestration, cliquez avec le bouton droit sur le nœud Messages , puis cliquez sur Nouveau message. Définissez le nom du message sur InsertOrders et le type de message sur BtsSalesforceIntegration.InsertOrdersTableOperation_dbo_OrderDetails.Insert.
Ajoutez une forme De message de construction après la forme ReceiveQueryResult . Définissez le nom de la forme
ConstructOrders
sur et définissez la propriété Messages Construit surInsertOrders.Dans la forme ConstructOrders , ajoutez une forme Transform . Double-cliquez sur la forme Transformer pour ouvrir la boîte de dialogue Configuration de la forme Transformer. Dans la boîte de dialogue, sélectionnez l’option Carte existante , puis, dans la liste déroulante, sélectionnez BtsSalesforceIntegration.QueryResult_Orders. Définissez Source sur QueryResultMsg, Destination sur InsertOrders, puis cliquez sur OK.
Après la forme ConstructOrders , ajoutez une forme Envoyer. Nommez la forme
SendOrders
et définissez le type de message comme InsertOrders.Ajoutez un port pour insérer des détails de la commande dans Salesforce. Dans l'assistant Configuration du port, sélectionnez les options suivantes :
Spécifiez le nom du port sous la forme
SendToSQL
.Sélectionnez l'option pour créer un nouveau type de port.
Définissez Modèle de communication sur Unidirectionnel.
Définissez Le sens de la communication duport sur J’enverrai toujours des messages sur ce port et définissez Liaison de port sur Spécifier ultérieurement.
Connectez l’opération De requête du port à la forme SendOrders Send pour terminer l’orchestration. La capture d'écran ci-dessous illustre l'orchestration de bout en bout terminée.
Ajoutez un fichier de clé de nom fort pour le projet et enregistrez les modifications apportées au projet.
Avec les étapes de cette rubrique, nous avons réalisé l'orchestration pour recevoir une notification d'opportunité de Salesforce, envoyer une requête à Salesforce pour obtenir davantage de détails sur l'opportunité, puis insérer la réponse à la requête dans une base de données SQL Server. Dans les rubriques suivantes, nous allons construire d'autres composants clés de la solution qui serviront à l'authentification auprès de Salesforce et au traitement de la réponse de Salesforce dans BizTalk Server.
Voir aussi
Étape 3 : créer la solution BizTalk Server dans Visual Studio