Partager via


BTARN, pipeline de réception

L’accélérateur Microsoft BizTalk pour RosettaNet (BTARN) effectue la réception des messages RNIF (RosettaNet Implementation Framework) avec le pipeline RNIFReceive.btp. Le pipeline de réception comprend les composants suivants :

  • ReceiveMessageNonRepudiate

  • RNMimeDecoder (préprocesseur/décodeur MIME)

  • RNDAsm (désassembleur XML)

  • RNPartyRes (composant Résolution du tiers)

  • MessageUpdater

ReceiveMessageNonRepudiate

Ce composant stocke le message reçu dans la table MessageStorageIn. Ce composant effectue le traitement de non-répudiation requis par les normes RNIF.

RNMimeDecoder

Ce composant est basé sur le préprocesseur/décodeur MIME natif BizTalk Server. RNMimeDecoder ajoute les fonctionnalités suivantes pour le traitement RNIF :

  • Pour RNIF 2.01, déchiffre le contenu du service et les pièces jointes, s’ils sont présents.

  • Pour RNIF 1.1, gère l’en-tête de 8 octets et l’en-tête de signature détaché à la fin de la charge utile.

    Pour plus d’informations sur le préprocesseur/décodeur natif BizTalk Server, consultez « Composant de pipeline de décodeur MIME/SMIME » dans BizTalk Server aide.

RNDAsm

Ce composant est basé sur le désassembleur XML natif BizTalk Server. RNDAsm ajoute les fonctionnalités suivantes pour le traitement RNIF :

  • Si un document entrant a un en-tête DOCTYPE, ce composant génère un espace de noms à partir de celui-ci et déplace tous les nœuds du document entrant vers cet espace de noms.

  • Effectue la corrélation des messages pour déterminer si un message entrant est un doublon et génère un message d’erreur si le message est un doublon.

  • Stocke les pièces jointes en tant que parties supplémentaires du message.

  • Promeut les propriétés des messages.

    Pour plus d’informations sur le désassembleur natif BizTalk Server, consultez « Composant de pipeline désassembleur XML » dans BizTalk Server aide.

RNPartyRes

Ce composant est basé sur le composant de résolution de partie BizTalk Server natif. RNPartyRes ajoute les fonctionnalités suivantes pour le traitement RNIF :

  • Mappe le certificat de l’expéditeur si le message entrant est signé à un tiers BizTalk. Si le message entrant n’est pas signé et que le contrat de partenaire commercial le permet, ce composant récupère l’expéditeur à partir de l’en-tête Remise pour RNIF 2.01 ou de l’en-tête service pour RNIF 1.1.

  • Vérifie que l’expéditeur existe et qu’il a un accord de partenaire commercial avec le organization d’origine.

    Pour plus d’informations sur le composant de résolution natif BizTalk Server partie, consultez « Composant de pipeline de résolution de partie » dans BizTalk Server aide.

MessageUpdater

Ce composant ajoute les fonctionnalités suivantes pour le traitement RNIF :

  • Mises à jour la table MessageStorageIn avec des détails sur le code PIP, la version PIP, la partie source, la partie de destination et l’ID de suivi des messages du message électronique stocké par le composant ReceiveMessageNonRepudiate.

  • Si le PIP ne nécessite pas de non-répudiation, marque l’enregistrement pour la suppression, en définissant ToBePurged = True.

Flux de messages

Le flux de messages via le pipeline de réception BTARN est le suivant :

  1. L’adaptateur HTTP reçoit un objet RNIF 1.1 ou un message métier RNIF 2.01 via HTTP POST.

  2. Si l’adaptateur reçoit correctement le message, l’adaptateur extrait l’objet RosettaNet ou le message métier et l’achemine vers le pipeline de réception.

  3. Si l’objet ou le message métier est signé, le préprocesseur/décodeur MIME supprime la signature.

  4. Si la signature est valide, le désassembleur lit le préambule.

  5. Si le message est un message d’action et que la non-répudiation est requise (le paramètre Non-Répudiation de l’origine et du contenu dans les paramètres de configuration du processus est True), le décodeur calcule et conserve le digest.

  6. Le désassembleur valide le préambule (avec les instructions de message (MSG) et le schéma de préambule dans les variables globales).

  7. Pour RNIF 2.01, le désassembleur lit l’en-tête de remise et valide l’en-tête à l’aide des instructions MSG et du schéma d’en-tête de remise dans les variables globales.

  8. Pour RNIF 2.01, le désassembleur extrait les informations du partenaire de l’en-tête de remise et examine la signature pour vérifier qu’elle appartient au partenaire.

  9. Pour RNIF 2.01, si la charge utile est chiffrée, le décodeur déchiffre le conteneur de charge utile.

  10. Le désassembleur lit l’en-tête de service et valide l’en-tête à l’aide des instructions MSG et du schéma d’en-tête de service dans les variables globales.

  11. Pour RNIF 1.1, le désassembleur extrait les informations du partenaire de l’en-tête du service et examine la signature pour vérifier qu’elle appartient au partenaire.

  12. Le désassembleur vérifie si le partenaire est autorisé pour le PIP. Si ce n’est pas le cas, le désassembleur répond à un message HTTP POST avec un status HTTP 403, si nécessaire, et publie une erreur.

  13. Si le message est un message d’action signé et que Non-Répudiation de l’origine et du contenu a la Truevaleur , le composant ReceiveMessageNonRepudiate conserve le message d’origine dans la table MessageStorageIn.

  14. Si le message est un message de signal signé et que Non-Répudiation obligatoire a la valeur True, le composant ReceiveMessageNonRepudiate conserve le message de signal dans la table MessageStorageIn.

  15. Si le message a été conservé dans la table MessageStorageIn pour la non-répudiation, MessageUpdater met à jour la table MessageStorageIn avec les propriétés de la configuration de processus du message.

  16. Si le message est un message d’action qui est un doublon d’un message d’action précédemment traité, BTARN publie une erreur.

  17. Pour RNIF 2.01, le décodeur déchiffre la charge utile si le message d’action est chiffré et qu’il existe une correspondance entre les exigences de synchronicité HTTP et de synchronicité PIP.

  18. Le désassembleur lit le contenu du service et le valide à l’aide des instructions MSG et du schéma.

  19. Pour RNIF 2.01, le désassembleur vérifie que le manifeste est valide et que l’ID de contenu est présent.

  20. Pour RNIF 2.01, le désassembleur lit les pièces jointes.

  21. BTARN achemine les en-têtes RosettaNet, le contenu du service et les pièces jointes au processus public.

Voir aussi

Traitement de messages dans BTARN