ValidationAdapter
L’exemple ValidationAdapter montre comment exécuter des règles de validation spéciales sur un message dans un processus public de répondeur. L’accélérateur Microsoft® BizTalk pour RosettaNet (BTARN) effectue en mode natif la validation dans le pipeline d’envoi ou de réception et dans les orchestrations. Si vous souhaitez effectuer une validation supplémentaire, vous pouvez créer un adaptateur de validation. La validation supplémentaire peut inclure la validation inter-champs ou des règles de validation spécifiques à l’entreprise que vous ne pouvez pas implémenter à l’aide d’un XSD.
Vous pouvez créer un adaptateur de validation en ajoutant du code C# à l’exemple ValidationAdapter, en publiant les interfaces et en entrant l’adaptateur dans les propriétés du contrat. BTARN appelle ensuite l’adaptateur de validation pendant le traitement des messages.
Étant donné que ValidationAdapter est utilisé par l’orchestration de processus publics , il s’exécute sous les mêmes informations d’identification que le service hôte BizTalk hébergeant cette orchestration.
L’exemple ValidationAdapter se trouve dans <drive> :\Program Files\Microsoft BizTalk <version> Accelerator for RosettaNet\SDK\ValidationAdapter.
Illustre le
L’exemple ValidationAdapter illustre la validation de l’adresse de messagerie dans le contenu du service. L’exemple implémente l’interface IValidateRNIFMessageParts
. Il retourne un RNIFException
si l’adresse de messagerie n’est pas au format correct. Les documents XML préambuleToValidate, serviceHeaderToValidate, deliveryHeaderToValidate et serviceContentToValidate définissent la validation.
ValidationAdapter utilise la propriété RNIFerror.IsOkToSendException pour déterminer le type de message à envoyer en cas d’erreur. Si la validation échoue, ValidationAdapter définit RNIFerror.ErrorCode sur une valeur différente de zéro. Si la propriété RNIFerror.IsOkToSendException a la valeur true, le processus envoie un accusé de réception négatif. Pour RNIF 2.0, il s’agit d’un message d’exception. Pour RNIF 1.1, il s’agit d’un message d’exception d’accusé de réception. Si la propriété RNIFerror.IsOkToSendException a la valeur false et que 0A1 est configurée, le processus envoie un message 0A1. Une fois que le processus a envoyé un message d’exception, un message d’exception d’accusé de réception ou un message 0A1, il se termine.
Si la propriété RNIFerror.IsOkToSendException a la valeur false et que 0A1 n’est pas configurée, le processus n’envoie ni exception ni 0A1. Il consigne l’erreur, puis se termine.
Si la validation réussit, ValidationAdapter définit RNIFerror.ErrorCode sur 0 et BTARN achemine le message vers le processus privé. Il achemine le message vers le processus privé uniquement si la validation réussit.
Pour implémenter cet exemple
Pour implémenter l’exemple ValidationAdapter, vous devez ajouter l’adaptateur de validation au contrat.
Pour ajouter l’adaptateur de validation au contrat
Cliquez sur Démarrer, pointez sur Tous les programmes, sur Microsoft BizTalk Accelerator pour RosettaNet, puis sur BizTalk Accelerator pour RosettaNetManagement Console.
Dans la console de gestion BizTalk Accelerator pour RosettaNet, développez Accélérateur BizTalk pour RosettaNet, puis cliquez sur Contrats.
Double-cliquez sur l’accord auquel vous souhaitez ajouter l’adaptateur de validation.
Dans la boîte de dialogue Adaptateur de validation , cliquez sur le bouton de sélection (...) à droite du nom de l’assembly, accédez à l’emplacement qui contient l’assembly de l’adaptateur de validation, sélectionnez le .dll fichier approprié, puis cliquez sur Ouvrir.
Cliquez sur la flèche vers le bas pour Nom de la classe, sélectionnez la classe de l’adaptateur de validation, puis cliquez sur OK.