Partager via


Étape 4 : configurer la solution BizTalk Server

À l’étape précédente, vous avez créé et déployé une application BizTalk Server pour recevoir une notification Salesforce dans BizTalk Server et insérer les détails dans une base de données SQL Server locale. Dans cette étape, nous allons configurer l’application dans BizTalk Server console Administration. La configuration de l'application consiste principalement à créer des ports physiques correspondant aux ports logiques que nous avons créés dans l'orchestration. Il s'agit aussi de lier le port physique aux ports logiques. Nous allons effectuer les étapes suivantes pour configurer l’application BizTalk Server :

  • Configurer un emplacement de réception de requête-réponse WCF-BasicHttpRelay pour recevoir des notifications d'opportunité de Salesforce.

  • Configurer un port d'envoi de requête-réponse WCF-WebHttp pour envoyer des requêtes à Salesforce afin de récupérer des détails du produit relatives à la notification d'opportunité reçue. Ce port d'envoi reçoit également la réponse à la requête de Salesforce.

  • Configurer un port d'envoi unidirectionnel WCF-SQL pour insérer la réponse à la requête de Salesforce dans une base de données SQL Server sur site.

  • Configurez l’application BizTalk Server en associant le port logique de l’orchestration aux ports physiques créés dans la console Administration BizTalk Server.

Pour configurer l'emplacement de réception WCF-BasicHttpRelay

  1. Ouvrez la console Administration BizTalk Server. Développez le nœud Applications et recherchez l’application SalesforceIntegration . Cette application est créée lorsque vous avez déployé le projet BizTalk Server à partir de Visual Studio.

  2. Développez l’application SalesforceIntegration , cliquez avec le bouton droit sur Ports de réception, pointez sur Nouveau, puis cliquez sur Port de réception requête-réponse. Spécifiez le nom du port en tant que ReceiveOppNotification et à partir du volet gauche, cliquez sur Emplacements de réception.

  3. Dans la boîte de dialogue Propriétés d'emplacement de réception, spécifiez les valeurs suivantes :

    Paramètre Valeur
    Nom Entrez ReceiveOppNotification.
    Type Sélectionnez WCF-BasicHttpRelay
    Gestionnaire de réception Sélectionnez BizTalkServerApplication
    Pipeline de réception Sélectionner XMLReceive
    Pipeline d'envoi Sélectionner PassThruTransmit

    Cliquez sur Configurer par rapport au type de port.

  4. Dans la boîte de dialogue Propriétés du transport WCF-BasicHttpRelay, spécifiez les valeurs suivantes :

    1. Sous l’onglet Général , pour Adresse (URI), entrez https://btssalesforce.servicebus.windows.net/notifications/opportunity. Ici, btssalesforce est l’espace de noms que vous avez créé à l’étape 1 : Créer un espace de noms Service Bus. L’URL que vous spécifiez ici est celle que vous avez spécifiée lors de la création d’un workflow dans Salesforce à l’étape 2 : Configurer le système Salesforce. Vous configurez un flux de travail dans lequel chaque fois que la phase d’une opportunité est définie sur Closed Won, Salesforce envoie une notification à l’URL https://btssalesforce.servicebus.windows.net/notifications/opportunity. Nous spécifions la même URL ici dans le cadre de cette configuration d'emplacement de réception. Lorsque l’emplacement de réception est activé, le point de terminaison de relais spécifié par l’URL est créé dans Microsoft Azure.

    2. Sous l’onglet Sécurité , spécifiez les éléments suivants :

      • Pour Mode de sécurité, sélectionnez Transport et, pour Type d’authentification du client Relay, sélectionnez Aucun.

      • Sélectionnez la zone Activer la découverte de service case activée pour publier le comportement du service dans le Registre de services. Spécifiez le nom d’affichage qui désigne le nom avec lequel le service est publié dans le Registre. Vous pouvez définir le mode de découverte sur public ou privé. Pour ce tutoriel, définissez Nom d’affichageSF Outbound Notification sur et Mode de découverte sur Public.

      • Sous La zone Service de contrôle d’accès, cliquez sur Modifier. Pour Access Control URI STS de service, entrez https://btssalesforce-sb.accesscontrol.windows.net/. Pour Nom de l’émetteur et Clé d’émetteur, entrez les valeurs que vous avez enregistrées à l’étape 1 : Créer un espace de noms Service Bus pour les champs Utilisateur par défaut et Clé par défaut .

    3. Cliquez sur OK jusqu’à ce que vous quittez toutes les boîtes de dialogue ouvertes.

Pour configurer le port d’envoi WCF-WebHttp

  1. Développez l’application SalesforceIntegration , cliquez avec le bouton droit sur Envoyer les ports, pointez sur Nouveau, puis cliquez sur Port d’envoi statique Solicit-Response.

  2. Dans la boîte de dialogue Propriétés de port d'envoi, spécifiez les valeurs suivantes :

    Paramètre Valeur
    Nom Entrez SalesforceREST.
    Type Sélectionnez WCF-WebHttp
    Gestionnaire d'envoi Sélectionnez BizTalkServerApplication
    Pipeline d'envoi Sélectionner PassThruTransmit
    Pipeline de réception Sélectionnez AjouterNamespace , puis cliquez sur le bouton de sélection par rapport au pipeline pour configurer le pipeline.

    - Sous Étape 1 : Décoder, pour NamespaceBase, entrez http://BtsSalesforceIntegration.QueryResult. Il s’agit de l’espace de noms du schéma QueryResult.xsd que vous avez créé à l’étape 3b : Récupérer les détails des opportunités à partir de Salesforce à l’aide de l’adaptateur WCF-WebHttp. Lorsque le pipeline de réception AddNamespace reçoit la réponse de Salesforce, il ajoute cet espace de noms au message de réponse. Par défaut, le message de réponse de Salesforce n'inclut aucun espace de noms.
    Pour NamespacePrefix, entrez sf.
    - Sous Étape 2 : Désassembler, acceptez les valeurs par défaut, puis cliquez sur OK.

    Dans la boîte de dialogue Propriétés du port d’envoi, cliquez sur Configurer par rapport au type de port.

  3. Dans la boîte de dialogue Propriétés du transport WCF-WebHttp, spécifiez les valeurs suivantes :

    1. Sous l’onglet Général, effectuez les actions suivantes :

      • pour Address (URI), entrez https://<Salesforce_instance_name>.salesforce.com/services/data/v24.0. Vous pouvez récupérer le nom de l'instance Salesforce en copiant le texte entre https:// et Salesforce.com dans la barre d'adresse où le portail Salesforce.com est ouvert. Par exemple, si l’URL du portail Salesforce est https://na15.salesforce.com/home/home.jsp, le nom du instance Salesforce est na15.

      • Sous La zone Méthode HTTP et Mappage d’URL , spécifiez les éléments suivants :

        <BtsHttpUrlMapping>  
        <Operation Method="GET" Url="/query?q={VAR}" />  
        </BtsHttpUrlMapping>  
        

        Voici comment ce paramètre est utilisé : pour interroger Salesforce afin de récupérer plus d’informations sur la notification d’opportunité, nous devons effectuer une opération GET sur le point de terminaison REST Salesforce (spécifié dans le champ Adresse ) et ajouter la requête pour récupérer les détails de l’opportunité. L'URL doit donc être de type :

        https://na15.salesforce.com/services/data/v24.0/query?q=<query_string>  
        

        Nous avons déjà le point de terminaison REST Salesforce dans le champ Adresse (URI). Par conséquent, dans le cadre de la méthode HTTP et de la propriété Mappage d’URL , nous spécifions l’utilisation de la méthode GET et l’ajout de {VAR} en tant que variable.

      • Dans la zone Mappage des variables , cliquez sur Modifier. Dans cette zone, vous spécifiez la façon dont la valeur de la variable {VAR} est déduite au moment de l’exécution.

        À l’étape 3b : Récupérer les détails de l’opportunité à partir de Salesforce à l’aide de l’adaptateur WCF-WebHttp, nous avions promu la propriété Query, ce qui a entraîné la création d’un PropertySchema.xsd. Nous allons utiliser l’élément Query dans ce schéma pour passer la chaîne de requête en mappant cet élément à la variable {VAR} dans l’URL.

        Dans la boîte de dialogue Mappage des variables, la colonne Variable répertorie le nom de la variable que vous avez spécifiée précédemment, par exemple VAR. Dans la colonne Nom de la propriété , spécifiez le nom de la propriété promue qui a la chaîne de requête à passer à la variable. Dans ce didacticiel, ce nom de propriété est Query. Enfin, pour Espace de noms de propriétés, spécifiez l’espace de noms pour PropertySchema.xsd, qui est https://BtsSalesforceIntegration.PropertySchema. Cliquez sur OK.

        Onglet Général de WCF-WebHttp Adapter

    2. Sous l’onglet Sécurité , pour Mode sécurité, sélectionnez Transport.

    3. Sous l’onglet Comportement, utilisez le comportement personnalisé que vous avez créé à l’étape 3d : Activation BizTalk Server d’envoyer et de recevoir des messages de Salesforce pour s’authentifier auprès de Salesforce. Pour utiliser le comportement, procédez comme suit :

      • Cliquez avec le bouton droit sur EndpointBehavior , puis sélectionnez Ajouter une extension.

      • Dans la boîte de dialogue Sélectionner une extension de comportement , sélectionnez Microsoft.BizTalk.Adapter.Behaviors.Demo.Salesforce. Nous avions utilisé ce nom de comportement tout en ajoutant le comportement à la machine.config.

      • Sélectionnez le comportement nouvellement ajouté puis spécifiez les valeurs suivantes :

        Paramètre Valeur
        consumerKey (obligatoire) Spécifiez la clé utilisateur de votre compte Salesforce. Vous pouvez récupérer la clé du consommateur en accédant à l’application connectée Salesforce que vous avez créée à l’étape 2 : Configurer le système Salesforce.
        consumerSecret (obligatoire) Récupérez le secret du consommateur à partir de l’application connectée Salesforce que vous avez créée à l’étape 2 : Configurer le système Salesforce.
        Mot de passe (obligatoire) Indiquer le mot de passe du compte Salesforce. Pour vous connecter à Salesforce à partir d'une application tierce, vous devez indiquer le mot de passe dans le format mot de passe suivi par le jeton de sécurité. Par exemple, si le mot de passe est mot de passe et que le jeton est XXXXXX, vous devez entrer passwordXXXXXX.
        sessionTimeout Ceci a la valeur par défaut 300.
        Username (obligatoire) Spécifiez le compte de connexion du développeur Salesforce.

        Onglet Comportement pour les BTS_SF_WebHttp_Behavior de l’adaptateur WCF-WebHttp

    4. Sous l’onglet Messages , sous Message sortant , pour Supprimer le corps des verbes, entrez GET. Ainsi, pour la méthode GET, il n'y a pas de charge du message dans la requête envoyée à Salesforce.

    5. Cliquez sur OK jusqu’à ce que vous quittez toutes les boîtes de dialogue ouvertes.

Pour configurer le port d’envoi WCF-SQL

  1. Développez l’application SalesforceIntegration , cliquez avec le bouton droit sur Ports d’envoi, pointez sur Nouveau, puis cliquez sur Port d’envoi unidirectionnel statique.

  2. Dans la boîte de dialogue Propriétés de port d'envoi, spécifiez les valeurs suivantes :

    Paramètre Valeur
    Nom Entrez SendToSQL.
    Type Sélectionnez WCF-SQL
    Gestionnaire d'envoi Sélectionner BizTalkServerApplication
    Pipeline d'envoi Sélectionner XMLTransmit

    Dans la boîte de dialogue Propriétés du port d’envoi, cliquez sur Configurer par rapport au type de port.

  3. Dans la boîte de dialogue Propriétés du transport WCF-SQL, spécifiez les valeurs suivantes :

    1. Sous l’onglet Général, effectuez les actions suivantes :

      • Sous Endpoint Address, cliquez sur Configurer. Pour la propriété InitialCatalog , spécifiez le nom de la base de données qui contient la table dans laquelle les données de la réponse Salesforce doivent être entrées. Pour ce didacticiel, entrez cette valeur sous la forme Orders. Pour Propriété du serveur, entrez le nom du serveur où SQL Server base de données est installée.

      • Sous l’en-tête d’action SOAP, spécifiez l’action à utiliser pour l’insertion dans la table OrderDetails . Vous devez entrer TableOp/Insert/dbo/OrderDetails.

    2. Sous l'onglet Informations d'identification, si vous laissez tout en blanc, l'adaptateur utilise l'authentification Windows pour se connecter à la base de données SQL Server. Si vous voulez utiliser une autre forme d'authentification, vous pouvez spécifier les valeurs correspondantes.

    3. Cliquez sur OK jusqu’à ce que vous quittez toutes les boîtes de dialogue ouvertes.

Pour configurer l'application BizTalk Server

  1. Dans la console Administration BizTalk Server, cliquez avec le bouton droit sur l’application SalesforceIntegration, puis cliquez sur Configurer.

  2. Dans la boîte de dialogue Configurer l’application, sélectionnez l’orchestration NotificationServiceClient et, dans le volet droit, procédez comme suit :

    1. Pour Hôte, sélectionnez BizTalkServerApplication.

    2. Mappez le port de réception logique SalesforceNotificationPort au port de réception physique ReceiveOppNotification.

    3. Mappez le port d’envoi logique SalesforceRESTInterface au port d’envoi physique SalesforceREST.

    4. Mappez le port d’envoi logique SendToSQL au port d’envoi physique SendToSQL.

      Cliquez sur OK.

  3. Cliquez avec le bouton droit sur l’application SalesforceIntegration , puis cliquez sur Démarrer. Cela démarre l’orchestration NotificationServiceClient , active l’emplacement de réception et démarre le port d’envoi.

    Dans cette rubrique, nous avons terminé la configuration de la solution dans BizTalk Server console Administration en associant les ports logiques de l’orchestration aux ports physiques.