Partager via


Gestion des contrats d'erreurs typés dans des orchestrations

Cette rubrique décrit la gestion de contrats d'erreurs typées lors de l'utilisation des services WCF dans les orchestrations. Pour gérer les exceptions d’erreur typées dans les orchestrations, les services WCF que vous consommez doivent avoir l’attribut FaultContractAttribute appliqué aux opérations de service ; Par conséquent, les erreurs peuvent être levées à l’aide de FaultException<T> où T peut être n’importe quel contrat de données valide ou type sérialisable à partir des services WCF.

Procédures

Pour gérer les contrats du type erreur dans les orchestrations

  1. Dans votre projet Microsoft Visual Studio BizTalk, dans Explorateur de solutions, cliquez avec le bouton droit sur votre projet, 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 - <Nom> du projet, dans la section Modèles , sélectionnez Utiliser le service WCF, puis cliquez sur Ajouter.

  3. Dans la page Bienvenue dans l’Assistant Consommation de services WCF BizTalk , cliquez sur Suivant.

  4. Dans la page Source des métadonnées , sélectionnez Le point de terminaison d’échange de métadonnées (MEX), puis cliquez sur Suivant.

  5. Dans la page Point de terminaison de métadonnées , spécifiez l’URL du service en cours d’exécution qui fournit des métadonnées à télécharger via WS-Metadata Exchange ou Http-Get, par exemple, http://localhost:8005. Pour obtenir le document de métadonnées à partir de l’URL, cliquez sur Obtenir. Si le service en cours d’exécution nécessite des informations d’identification utilisateur avec le schéma d’authentification de base, cliquez sur Modifier pour ouvrir la boîte de dialogue Assistant Consommation du service WCF BizTalk dans laquelle vous pouvez fournir le nom d’utilisateur et le mot de passe à utiliser lors de l’accès au service en cours d’exécution. Cliquez sur Suivant.

  6. Dans la page Importer le résumé des métadonnées du service WCF , passez en revue vos paramètres. Vous pouvez cliquer sur Précédent pour apporter des modifications. Cliquez ensuite sur Importer pour créer les artefacts et les types BizTalk à utiliser pour l’utilisation du service WCF.

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

  8. Supposez que le service WCF que vous consommez lève l'exception d'erreur suivante :

    throw new FaultException<MyOperationException>(divideException);  
    

    L’opération d’erreur sur le port d’envoi attend un message de type MyOperationException, mais le message de réponse WCF contient l’intégralité du corps de l’erreur. Par conséquent, vous devez extraire la partie MyOperationException du message en configurant l’option Corps du message BizTalk entrant dans la boîte de dialogue propriétés de transport. Par exemple,

    • Sélectionnez Chemin d’accès : contenu situé par chemin d’accès du corps.

    • Définissez l'expression du chemin du corps comme suit :

      /*[local-name()='Fault']/*[local-name()='Detail']/* | /*[local-name()='DivideResponse']  
      
    • Sélectionnez Xml dans la liste déroulante Encodage de nœud .

  9. Vous devez ajouter une étendue et deux gestionnaires d'exception dans l'orchestration. Un gestionnaire d’exceptions est destiné à l’opération Fault, similaire à MyOperationException illustrée dans l’exemple précédent ; l’autre gestionnaire d’exceptions permet d’intercepter les exceptions SOAPExceptions génériques.

Voir aussi

Levée d'exceptions d'erreur à partir d'orchestrations publiées en tant que services WCF
Utilisation de l'Assistant Consommation de service WCF BizTalk pour utiliser un service WCF