Partager via


Procédure pas à pas : utilisation des services WCF avec l'adaptateur WCF-BasicHttp

Notes

Pour plus d’informations sur les cartes, consultez Adaptateurs dans BizTalk Server.

Introduction

Dans cette procédure pas à pas, vous allez utiliser un service Windows Communication Foundation (WCF) hébergé dans Internet Information Services (IIS) à l’aide de la messagerie BizTalk et de l’adaptateur d’envoi WCF-BasicHttp. Cet adaptateur utilise la liaison BasicHttpBinding pour fournir une implémentation de pile de transport/protocole compatible avec les versions antérieures des services Web afin de servir de pont entre Microsoft BizTalk Server et les fonctionnalités WCF. Une orchestration peut se lier à un port d’envoi qui utilise un adaptateur WCF pour appeler un service WCF et tirer parti de ses fonctionnalités dans son traitement métier logique.

L'adaptateur WCF-BasicHttp consiste en un adaptateur d'envoi et un adaptateur de réception. Dans cet exemple, vous allez utiliser uniquement le côté d’envoi de cet adaptateur pour effectuer des demandes de service WCF via le protocole HTTP à un service WCF. Pour un port d’envoi Solicit-Response, l’adaptateur d’envoi envoie à un service WCF et reçoit une réponse de résultat. À l’inverse, un adaptateur de réception WCF permet à une orchestration BizTalk Server d’être publiée et appelée en externe par une application cliente WCF. Pour plus d’informations, reportez-vous à Publication des services WCF .

Une fois cette procédure pas à pas terminée, vous saurez comment effectuer les tâches suivantes :

  • À partir de Microsoft Visual Studio, utilisez la commande Déployer pour déployer les assemblys contenant la solution BizTalk Server et le service WCF sur un instance local de BizTalk Server. Vous créerez ainsi une application BizTalk contenant ces assemblys.

  • À partir de Visual Studio, utilisez l’Assistant Consommation de services WCF BizTalk pour générer les BizTalk Server schémas et types nécessaires pour utiliser le service WCF. Une orchestration vide est également générée, que vous pouvez utiliser et lier à un port logique. Cette orchestration est compilée et déployée avec des schémas et des types. Toutefois, le traitement du flux de travail d’orchestration est vide ici et n’est pas utilisé dans cet exemple, car il s’agit simplement d’un scénario de messagerie BizTalk Server pur.

  • À partir de la console Administration BizTalk Server, configurez le routage basé sur le contenu à l’aide du port d’envoi WCF-BasicHttp. Vous allez configurer l’en-tête SOAPAction que le service WCF cible attend de recevoir.

  • À partir de la console Administration BizTalk Server, configurez l’expression de filtre pour acheminer les messages d’erreur SOAP qu’un service WCF peut envoyer à un dossier de sortie.

  • À partir du Gestionnaire des services Internet (IIS), configurez l’application web hébergeant le service WCF pour exposer ses métadonnées. Une fois cette option activée, l’Assistant Consommation de services WCF BizTalk peut obtenir ces métadonnées pour générer des types et des schémas pour accéder au service WCF.

Prérequis

Pour exécuter la procédure décrite dans cet exemple, assurez-vous que votre environnement est conforme à la configuration requise décrite ci-dessous :

  • L’ordinateur qui génère les assemblys et exécute le processus de déploiement, ainsi que l’ordinateur qui exécute l’exemple, nécessitent Microsoft Windows Server 2008 SP2, Microsoft .NET Framework 4.5 et Microsoft BizTalk Server.

  • L’ordinateur utilisé pour générer les assemblys et exécuter le processus de déploiement requiert Microsoft Visual Studio.

  • L’ordinateur qui exécute l’exemple nécessite les adaptateurs WCF et les outils d’administration WCF. Il s’agit d’options à installer lors de l’installation de Microsoft BizTalk Server.

  • Sur les ordinateurs que vous utilisez pour effectuer des tâches d’administration, vous devez vous exécuter en tant que compte d’utilisateur membre du groupe Administrateurs BizTalk Server pour configurer les paramètres d’application BizTalk Server dans la console Administration BizTalk Server. Ce compte d'utilisateur doit également être membre du groupe Administrateurs local pour le déploiement d'application, la gestion d'instances de l'hôte et d'autres tâches éventuellement requises.

  • Sur n’importe quel ordinateur qui nécessite la fonctionnalité WCF, effectuez la procédure d’installation à usage unique pour les exemples WCF dans Procédure d’installation à temps unique pour les exemples Windows Communication Foundation.

  • Sur l’ordinateur qui exécute l’exemple et importe une liaison ou un fichier .msi dans BizTalk Server, vérifiez que l’hôte n’est pas un hôte approuvé ou que l’importation échoue.

  • Vous devez télécharger le code de procédure pas à pas et l’extraire sur votre ordinateur. Cette procédure pas à pas fait partie de l’ensemble du package de procédure pas à pas de l’adaptateur WCF. Vous pouvez télécharger le fichierWCFAdapterWalkthroughs.exe à partir du Centre de développement BizTalk Server à l’adresse https://go.microsoft.com/fwlink/?LinkId=194140.

Déployer l’exemple de service WCF

  1. Exécutez le fichier WCFBasicHttpSendAdapter.exe auto-extracteur et extrayez les fichiers dans le dossier C :\WCFBasicHttpSendAdapter .

  2. Ouvrez le fichier C :\WCFBasicHttpSendAdapter\WCFBasicHttpSendAdapter.sln dans Visual Studio.

  3. Dans Explorateur de solutions, développez le projet BasicHttpWCFServiceConsuming. Ce projet est le service WCF qui sera appelé par le port d’envoi. Il sera hébergé dans un environnement d'hôte géré à l'aide des services Internet. Dans les services Internet, l'hébergement utilise une activation basée sur les messages pour gérer l'activation et la durée du service. Développez App_Code, puis ouvrez OrderProcess.cs pour vérifier. Ce service WCF reçoit les messages de demande de commande via la méthode OrderRequest . Le fichier OrderProcess.cs contient la défition d’interface et l’implémentation du service WCF. Il retourne simplement les messages de réponse de commande via la méthode OrderResponse .

  4. Examinez le fichier OrderProcess.svc. Il contient une seule ligne utilisée pour indiquer aux services Internet d'activer le service pour une application cliente. L’attribut @ServiceHost utilisé pour héberger le service est un point d’extensibilité dans le modèle de programmation WCF. Un modèle de fabrique utilise ServiceHostFactory pour créer un instance de ServiceHost avec un instance du service WCF pour gérer les requêtes entrantes. L’instanciation de cette instance est basée sur la propriété ServiceBehaviorAttribute.ConcurrencyMode, qui détermine si un service prend en charge un thread, plusieurs threads ou des appels entrants. L’instanciation est également déterminée par la propriété ServiceBehavior.InstanceMode, qui détermine si un seul instance servira tous les appelants (singleton), si un instance sera créé par appel (sans état) ou si un instance sera créé pour chaque session (avec état).

    <%@ServiceHost language=c# Debug="true" Service="Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWcfServiceConsuming.OrderProcessServiceType" %>
    
  5. Dans Visual Studio, dans Explorateur de solutions, ouvrez Web.config à consulter. Lorsqu’il est hébergé dans IIS, un service WCF est configuré à l’aide d’un fichier Web.config au lieu d’un fichier app.config comme lorsqu’il est hébergé dans une application console.

    • Assurez-vous que l’attribut httpGetEnabled de l’élément <serviceMetaData> est défini sur afin true que l’Assistant Consommation de services WCF BizTalk puisse consommer les métadonnées du service.

    • Assurez-vous que l’attribut de mode de l’élément <de sécurité> est défini sur Aucun. Étant donné que cette procédure pas à pas utilise le mode de sécurité Aucun , l’application web hébergeant ce service doit être configurée pour autoriser l’accès anonyme.

  6. Étant donné que l’assembly Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWcfServiceConsuming doit être installé dans le GAC, il aura besoin d’un fichier de clé de nom fort pour terminer le processus de déploiement. Cliquez avec le bouton droit sur le projet BasicHttpWcfServiceConsuming , puis cliquez sur Propriétés. Dans la page Propriétés , cliquez sur Signature, puis sélectionnez Signer l’assembly. Cliquez sur la flèche vers le bas dans la liste déroulante Choisir un fichier de clé de nom fort , cliquez sur <Nouveau>, puis entrez keyfile.snk dans la zone de texte Nom du fichier de clé . Décochez Protéger mon fichier de clé avec un mot de passe, puis cliquez sur OK.

  7. Dans Explorateur de solutions, cliquez avec le bouton droit sur BasicHttpWcfServiceConsuming, puis cliquez sur Reconstruire.

  8. À l’aide de Windows Explorer, copiez le contenu de C :\WCFBasicHttpSendAdapter\BasicHttpWCFServiceConsuming dans le dossier C :\InetPub\wwwroot.

  9. Configurez l’application web pour héberger le service WCF comme suit :

    1. Cliquez sur Démarrer, pointez sur Outils d’administrateur, puis cliquez sur Gestionnaire des services Internet (IIS).

    2. Créer un pool d'applications dans lequel ce service s'exécutera. Cliquez avec le bouton droit sur Pools d’applications, cliquez sur Ajouter un pool d’applications..., entrez un nom pour le pool d’applications, puis cliquez sur OK.

    3. Développez Pools d’applications, cliquez avec le bouton droit sur le pool d’applications que vous venez de créer, puis sélectionnez Paramètres avancés. Sous la section Modèle de processus, entrez le compte qui a accès aux bases de données BizTalk Server sous le champ Identité.

    4. Développez Sites, Site web par défaut, cliquez avec le bouton droit sur BasicHttpWCFServiceConsuming, puis cliquez sur Convertir en application pour créer une application web pour ce service WCF.

    5. Dans la boîte de dialogue Convertir en application , cliquez sur Sélectionner pour sélectionner le pool d’applications créé précédemment, puis cliquez sur OK.

    6. Dans La vue Fonctionnalités, cliquez sur l’icône Authentification et vérifiez que l’option Authentification anonyme est activée. Cela prend en charge les services WCF avec le mode de sécurité None .

  10. Testez le service WCF publié comme suit :

    1. Dans le Gestionnaire des services Internet, développez Sites web, puis BasicHttpWCFServiceConsuming.

    2. Dans le Gestionnaire des SERVICES Internet, dans le volet droit, cliquez avec le bouton droit sur OrderProcess.svc, puis cliquez sur Parcourir. Cela ouvre Internet Explorer pour afficher la page Service OrderProcessServiceType qui indique que vous avez créé un service WCF en cours d’exécution. Cette page inclut également une adresse WSDL complète, que vous pouvez copier et utiliser avec l'outil de métadonnées de service (svcutil.exe) pour créer un code proxy et un fichier de configuration utilisables pour développer une application cliente pour le service.

    3. Copiez l'adresse WSDL complète dans le Presse-papiers système. Ne copiez pas la partie « svcutil.exe » : http://localhost/BasicHttpWcfServiceConsuming/OrderProcess.svc?wsdl

Ajouter les schémas et les types de l’adaptateur WCF-BasicHttp à l’exemple d’application BizTalk

  1. Étant donné que l’adaptateur appelle le service WCF, il a besoin d’informations de schémas et de types sur la façon d’effectuer cet appel à ce service à l’aide des métadonnées. BizTalkApp fournit les artefacts permettant d’utiliser le service WCF. Dans Visual Studio, dans Explorateur de solutions, cliquez avec le bouton droit sur BizTalkApp, cliquez sur Ajouter, puis sur Ajouter des éléments générés.

  2. Dans la boîte de dialogue Ajouter des éléments générés , dans la section Modèles , sélectionnez Consommer le service WCF, puis cliquez sur Ajouter.

  3. Dans la page Bienvenue dans l’Assistant Consommation de services WCF BizTalk , cliquez sur Suivant. Cet Assistant lit les métadonnées et crée les schémas et les types.

  4. Dans la page Source des métadonnées , sélectionnez l’option de point de terminaison d’Échange de métadonnées (MEX) pour utiliser les métadonnées de l’URL que vous avez copiée dans le Presse-papiers dans la procédure précédente, puis cliquez sur Suivant.

  5. Dans la page Point de terminaison de métadonnées , collez l’adresse WSDL complète que vous avez copiée dans la procédure précédente dans la liste déroulante Adresse des métadonnées , puis cliquez sur Obtenir pour obtenir le document de métadonnées pour l’exemple de service WCF. L’obtention des métadonnées active le bouton Suivant . Cliquez sur Suivant pour continuer.

  6. Dans la page Importer le résumé des métadonnées du service WCF , passez en revue vos paramètres. Cette boîte de dialogue présente les récapitulatifs d'espace de noms, XSD et WSDL des métadonnées à importer. Elle indique également où les fichiers d'orchestration (.odx), de liaisons (.xml) et de schéma (.xsd) seront écrits durant le processus d'importation. Cliquez sur Importer pour créer les artefacts et les types BizTalk à utiliser pour l’utilisation de l’exemple de service WCF.

  7. Dans la page Fin de l’Assistant Consommation du service WCF BizTalk , cliquez sur Terminer.

  8. Dans Visual Studio, dans Explorateur de solutions, l’Assistant Consommation de services WCF BizTalk génère les fichiers suivants :

    • Fichier d’orchestration OrderProcessServiceType.odx. Cette orchestration ne comprend pas d'étape du flux de travail. Toutefois, vous pouvez l’ajouter et le lier aux ports logiques pour consommer le service WCF. Elle ne contient pas de types BizTalk importants, tels que des types de ports et de messages à parties multiples, utilisés dans cet exemple. Pour afficher ces informations, double-cliquez sur l’orchestration OrderProcessServiceType.odx . Cliquez sur Affichage, sur Autres fenêtres, puis sur Vue d’orchestration. Développez Types, Types de ports, puis IOrderProcess. La méthode Submit s’affiche. Développez cette méthode et vous verrez les types de port OrderRequest et OrderResponse . Cliquez sur chaque type de port et affichez leurs champs Description dans l’explorateur de propriétés et affichez les différents messages d’entrée et de sortie WSDL. Cliquez sur Types de messages en plusieurs parties et affichez les types de messages en plusieurs parties OrderRequest et OrderResponse . Cliquez sur leurs champs Description et affichez les noms des messages WDSL pour chaque type de message.

    • Deux fichiers de schéma sont générés. Le premier fichier de schéma (OrderProcessServiceType_biztalk_WCF_basichttpsendadapter_basichttpWCFserviceconsuming.xsd) définit les types de messages utilisés par l’exemple de service WCF. Il utilise le champ OrderID dans les appels OrderRequest et OrderResponse .

    • Le deuxième fichier de schéma (OrderProcessServiceType_schemas_microsoft_com_2003_10_Serialization.xsd) est exporté par DataContractSerializer pour les types, les éléments et les attributs de l’espace de noms , http://schemas.microsoft.com/2003/10/Serialization/.

    • Deux fichiers de liaison sont générés, qui seront utilisés ultérieurement pour créer l’application BizTalk : OrderProcessServiceType.BindingInfo.xml et OrderProcessServiceType_Custom.BindingInfo.xml. En règle générale, vous utiliserez le fichier de liaison non personnalisée. Toutefois, dans les rares situations où vous avez un élément de liaison personnalisée, utilisez le fichier de liaison personnalisée. L'élément de liaison personnalisée crée des ports d'envoi pour les applications. Double-cliquez sur le fichier OrderProcessServiceType.BindingInfo.xml et recherchez la ligne de définition SendPort, puis passez en revue le port d’envoi qui sera créé lorsque vous importerez ce fichier de liaison dans BizTalk Server :

      <SendPort Name="WCFSendPort_OrderProcessServiceType_ServiceEndpoint" …  >
      
    • Ces fichiers sont utilisés pour le port d’envoi à l’aide de l’adaptateur WCF afin de consommer l’exemple de service WCF décrit dans les métadonnées.

Déployer l’exemple de solution BizTalk, BizTalkApp

  1. Déployez l’application BizTalk Server comme suit :

    1. Dans Visual Studio, dans Explorateur de solutions, cliquez avec le bouton droit sur BizTalkApp, puis cliquez sur Propriétés .

    2. Dans la fenêtre Project Designer, cliquez sur l’onglet Déploiement, puis modifiez la propriété Serveur si vous utilisez un autre serveur de base de données pour la base de données BizTalk Server Management. Vérifiez que le nom de l’application est WCFBasicHttpSendAdapter.

    3. Dans Visual Studio, dans Explorateur de solutions, cliquez avec le bouton droit sur BizTalkApp, puis cliquez sur Reconstruire.

    4. Dans Visual Studio, dans Explorateur de solutions, cliquez avec le bouton droit sur BizTalkApp, puis cliquez sur Déployer. Cela déploie l’assembly Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BizTalkApp dans le GAC, et les artefacts dans l’application BizTalk Server nommée WCFBasicHttpSendAdapter.

  2. Configurez un port d'envoi WCF-BasicHttp dans l'application BizTalk comme suit :

    1. Cliquez sur Démarrer, pointez sur Tous les programmes, sur Microsoft BizTalk Server 20xxxx, puis cliquez sur BizTalk Server Administration.

    2. Dans la console Administration BizTalk Server, développez Groupe BizTalk, Applications, cliquez avec le bouton droit sur WCFBasicHttpSendAdapter, pointez sur Importer, puis cliquez sur Liaisons.

    3. Dans la boîte de dialogue Importer des liaisons , accédez au dossier C :\WCFBasicHttpSendAdapter\BizTalkApp , sélectionnez OrderProcessServiceType.BindingInfo.xml, puis cliquez sur Ouvrir. Il s’agit de l’un des fichiers de liaison créés précédemment par l’Assistant Consommation de services WCF BizTalk . Cela crée le port d’envoi WCFSendPort_OrderProcessServiceType_ServiceEndpoint .

    4. Dans la console Administration BizTalk Server, développez WCFBasicHttpSendAdapter, puis cliquez sur Envoyer les ports.

    5. Dans la console Administration BizTalk Server, dans le volet droit, double-cliquez sur WCFSendPort_OrderProcessServiceType_ServiceEndpoint qui a été créée en important le fichier de liaison OrderProcessServiceType.BindingInfo.xml. La boîte de dialogue Propriétés du port d’envoi s’affiche .

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

    7. Sous l’onglet Général , passez en revue le champ Adresse(URI) de http://localhost/BasicHttpWcfServiceConsuming/OrderProcess.svc. Il s’agit de l’adresse du service WCF hébergé dans IIS que l’adaptateur WCF-BasicHttp appellera.

    8. Passez en revue le contenu de la zone de texte Action/En-tête/Action SOAP :

      <BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <Operation Name="Submit" Action="http://Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWcfServiceConsuming/IOrderProcess/Submit" />
      </BtsActionMapping>
      

      Ce champ indique l'intention du message de demande SOAP HTTP sortant. Dans ce cas, il s'agit d'appeler l'opération d'envoi sur l'interface IOrderProcess à partir de l'espace de noms Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWcfServiceConsuming.

      Notes

      Le fichier de liaison généré par l’Assistant Consommation de services WCF BizTalk utilise le format de mappage d’actions pour la propriété StaticAction . Lorsque vous utilisez le routage basé sur le contenu pour les adaptateurs d’envoi WCF afin d’envoyer des messages aux services WCF, vous devez définir le BTS. Propriété d’opération dans les composants de pipeline pour le format de mappage d’action en tant que champ à utiliser pour le routage basé sur le contenu. Vous pouvez également utiliser le format d'action unique pour le routage basé sur le contenu. Dans cette procédure pas à pas, vous utilisez le format d'action unique. Pour plus d’informations sur le format d’action unique et le format de mappage d’action, consultez la boîte de dialogue Propriétés de transport WCF-BasicHttp, Onglet Envoyer, Général dans l’aide de l’interface utilisateur et informations de référence sur l’espace de noms d’API des développeurs.

    9. Cliquez deux fois sur OK pour revenir à la console d’administration BizTalk Server.

  3. Créez un port de réception statique unidirectionnel et un emplacement de réception FILE. Un port de réception est un conteneur logique pour un ou plusieurs emplacements de réception. C’est là que vous allez supprimer un exemple de message WCF qui sera récupéré par l’adaptateur de fichier, puis envoyé au service WCF.

    1. Dans la console Administration BizTalk Server, développez WCFBasicHttpSendAdapter, cliquez avec le bouton droit sur Ports de réception, pointez sur Nouveau, puis cliquez sur Port de réception unidirectionnel.

    2. Dans la boîte de dialogue Propriétés du port de réception, dans la zone de texte Nom , tapez WCFBasicSendAdapter.ReceivePurchaseOrder, puis cliquez sur OK.

    3. Dans la console Administration BizTalk Server, cliquez avec le bouton droit sur WCFBasicHttpSendAdapter.ReceivePurchaseOrder, pointez sur Nouveau, puis cliquez sur Emplacement de réception.

    4. Dans la boîte de dialogue Propriétés de l’emplacement de réception, dans la zone de texte Nom , tapez WCFBasicSendAdapter.ReceivePurchaseOrder.FILE.

    5. Dans la boîte de dialogue Propriétés de l’emplacement de réception, dans la section Transport en regard de Type, sélectionnez FICHIER dans la liste déroulante, puis cliquez sur Configurer.

    6. Dans la boîte de dialogue Propriétés du transport fichier, sous l’onglet Général , dans la zone de texte Dossier réception , tapez C:\WCFBasicHttpSendAdapter\OrderRequestIn, puis cliquez sur OK.

    7. Dans la boîte de dialogue Propriétés de l’emplacement de réception, cliquez sur OK.

  4. Créez un fichier pour router les messages vers le port d'envoi WCF-BasicHttp à partir de l'emplacement de réception FILE que vous avez créé à l'étape précédente. Un filtre associé à un port agit comme une clause SQL « where » dans la mesure où si son évaluation est vraie, le message est transmis à ce port.

    1. Dans la console Administration BizTalk Server, développez WCFBasicHttpSendAdapter, cliquez sur Envoyer les ports, puis double-cliquez sur WCFSendPort_OrderProcessServiceType_ServiceEndpoint.

    2. Dans la boîte de dialogue Propriétés du port d’envoi, sous l’onglet Filtres , sélectionnez BTS. ReceivePortName dans le champ Propriété , tapez WCFBasicSendAdapter.ReceivePurchaseOrder le champ Valeur , puis cliquez sur OK. Cette expression de filtre route les messages entrants du port de réception WCFBasicSendAdapter.ReceivePurchaseOrder vers ce port d'envoi WCF-BasicHttp.

  5. Créez deux ports d'envoi FILE pour l'exemple d'application. Le premier port d’envoi envoie des messages de réponse de sortie au port FILE à partir du service WCF. Le deuxième port d’envoi est utilisé pour gérer les messages d’erreur envoyés à partir du service WCF destiné au client.

    1. Dans la console d’administration BizTalk Server, développez WCFBasicHttpSendAdapter, 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 du port d’envoi, dans la zone de texte Nom , tapez WCFBasicSendAdapter.SendPurchaseOrder.FILE.

    3. Dans la boîte de dialogue Propriétés du port d’envoi, dans la section Transport en regard de Type, sélectionnez FICHIER dans la liste déroulante, puis cliquez sur Configurer.

    4. Dans la boîte de dialogue Propriétés du transport fichier, sous l’onglet Général , dans la zone de texte Dossier de destination , tapez C :\WCFBasicHttpSendAdapter\OrderResponseOut, puis cliquez sur OK.

    5. Dans la boîte de dialogue Propriétés du port d’envoi, sous l’onglet Filtres , sélectionnez BTS. MessageType dans le champ Propriété , tapez http://Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWCFServiceConsuming#OrderResponse le champ Valeur pour spécifier le type de message de réponse de l’exemple de service WCF, puis cliquez sur OK. Cette expression de filtre achemine les messages de réponse de l’exemple de service WCF vers ce port d’envoi FILE. Le port d'envoi s'abonne aux messages du type OrderResponse en spécifiant celui-ci dans la propriété de filtre. Il s’agit du type de message du message de réponse du service WCF.

    6. Dans la boîte de dialogue Propriétés du port d’envoi, cliquez sur OK.

    7. Dans la console d’administration BizTalk Server, développez WCFBasicHttpSendAdapter, cliquez avec le bouton droit sur Ports d’envoi, pointez sur Nouveau, puis cliquez sur Port d’envoi unidirectionnel statique.

    8. Dans la boîte de dialogue Propriétés du port d’envoi, dans la zone de texte Nom , tapez WCFAdapterErrorSend.FILE.

    9. Dans la boîte de dialogue Propriétés du port d’envoi, dans la section Transport en regard de Type, sélectionnez FICHIER dans la liste déroulante, puis cliquez sur Configurer.

    10. Dans la boîte de dialogue Propriétés du transport fichier, sous l’onglet Général , dans la zone de texte Dossier de destination , tapez **C :\WCFBasicHttpSendAdapter\WCFAdapterErrorOut**, puis cliquez sur OK.

    11. Dans la boîte de dialogue Propriétés du port d’envoi, sous l’onglet Filtres , sélectionnez WCF. IsFault dans le champ Propriété , tapez True le champ Valeur , puis cliquez sur OK. Dans une application, une exception ou une erreur peut être détectée en vérifiant wcf. Propriété IsFault du message renvoyé à l’appelant. Cette propriété est définie sur True si le message envoyé est un message d’erreur SOAP. Cette expression de filtre achemine les messages d’erreur de l’exemple de service WCF vers ce port d’envoi FILE.

  6. Spécifiez le nom d'hôte et les liaisons pour l'exemple d'application comme suit :

    Dans la console Administration BizTalk Server, développez WCFBasicHttpSendAdapter, Développez Orchestrations, cliquez avec le bouton droit sur l’orchestration Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BizTalkApp.OrderProcessServiceTypeClient, cliquez sur Propriétés, sur Liaisons, définissez Hôte sur BizTalkServerApplication, puis cliquez sur OK pour enregistrer la configuration.

Tester l’exemple de solution avec l’adaptateur d’envoi WCF-BasicHttp

  1. Dans la console Administration BizTalk Server, cliquez avec le bouton droit sur WCFBasicHttpSendAdapter, puis cliquez sur Démarrer.

  2. Dans la boîte de dialogue Démarrer , cliquez sur Démarrer.

  3. Dans la console Administration BizTalk Server, développez Paramètres de plateforme, Instances d’hôte, cliquez avec le bouton droit sur BizTalkServerApplication ou un autre instance hôte approprié, puis cliquez sur Redémarrer.

  4. Ouvrez une invite de commandes, tapez iisreset pour recycler IIS et ses services dépendants, puis appuyez sur Entrée.

  5. À l’invite de commandes, copiez C:\WCFBasicHttpSendAdapter\TestData\WCFBasicSendAdapter.OrderRequest.Sample.xml dans le dossier C :\WCFBasicHttpSendAdapter\OrderRequestIn . Ce message est routé vers le port d’envoi WcfSendPort_OrderProcessServiceType_ServiceEndpoint Solicit-Response WcfSendPort_OrderProcessServiceType_ServiceEndpoint statique. Le côté envoi de ce port d’envoi bidirectionnel appelle la méthode Submit sur le service WCF hébergé dans IIS. Le résultat est retourné au port de réponse du port d’envoi WcfSendPort_OrderProcessServiceType_ServiceEndpoint . Le port d’envoi WCFBasicSendAdapter.SendPurchaseOrder.FILE a un abonnement qui sera déclenché lorsque le type du message est http://Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWCFServiceConsuming#OrderResponse. Il obtient le message correctement traité et l’écrit dans le dossier C :\WCFBasicHttpSendAdapter\OrderResponseOut .

  6. Vérifiez le dossier C :\WCFBasicHttpSendAdapter\OrderResponseOut pour obtenir un message de réponse du service WCF.

  7. À l’invite de commandes, C:\WCFBasicHttpSendAdapter\TestData\WCFBasicSendAdapter.OrderRequest.Invalid.xml au dossier C :\WCFBasicHttpSendAdapter\OrderRequestIn . Ce message contient un espace de noms non valide afin que le service WCF retourne un message d’erreur.

  8. Vérifiez dans le dossier C :\WCFBasicHttpSendAdapter\WCFAdapterErrorOut un fichier XML contenant le message d’erreur du service WCF. Examinez le < champ faultstring montrant> que la cause du message d’erreur est un corps de message non valide.

Voir aussi

Procédure pas à pas : publication de services WCF avec l’adaptateur WCF-BasicHttpComment utiliser l’Assistant Consommation du service WCF BizTalk pour consommer un service WCFSpécifiant le corps du message pour les adaptateurs WCF