Tutoriel 3 : Tutoriel AS2

Dans ce tutoriel, vous allez configurer une solution qui reçoit et envoie des messages encodés EDIINT/AS2 via un transport HTTP.

Fonctionnement de la solution de didacticiel

La solution effectue les opérations suivantes :

  • Recevoir un message AS2 d’un partenaire (Fabrikam)

  • Renvoyer une réponse MDN de manière asynchrone au partenaire

  • Traiter la charge utile EDI du message AS2

  • Renvoyer une confirmation 997 au partenaire (Fabrikam) via AS2

  • Routez un fichier XML contenant la charge utile du message EDI vers une application back-end de l’organisation principale (Contoso).

    Remarque

    Cette solution n’utilise pas la signature ou le chiffrement pour garantir la sécurité des messages AS2.

    Composants du didacticiel

    Cette solution utilise les éléments suivants :

  • Filtre ISAPI de réception HTTP BTS pour recevoir le message AS2/EDI de l’expéditeur (/Contoso/BTSHTTPReceive.dll).

  • Page web ASPX pour simuler le partenaire en retournant un accusé de réception 997 et un MDN (http://localhost/Fabrikam/Default.aspx).

  • Fichier projet que vous allez utiliser pour déployer un schéma 864 et d’autres schémas (Schemas.btproj).

  • Emplacement de réception HTTP unidirectionnel pour recevoir le fichier EDI (Receive_AS2). Cet emplacement de réception utilise le pipeline AS2EdiReceive par défaut qui contient le décodeur AS2 et le désassembleur EDI.

  • Port d’envoi HTTP dynamique pour retourner un MDN asynchrone (Send_Async_MDN). Ce port d’envoi utilise le pipeline AS2Send qui contient l’encodeur AS2.

  • Un port d'envoi FILE monodirectionnel et statique pour acheminer le contenu EDI dans un fichier XML vers un répertoire du système de stockage (Send_Payload_EdiXml). Ce port d’envoi utilise le pipeline d’envoi PassThruTransmit.

  • Port d’envoi HTTP unidirectionnel statique pour renvoyer un accusé de réception 997 au partenaire via AS2 (Send_Async_997). Ce port d’envoi utilise le pipeline AS2Send qui inclut l’encodeur AS2, mais n’a pas besoin de l’assembleur EDI.

  • Fichier projet que vous allez utiliser pour générer une application pour envoyer le fichier EDI du partenaire Fabrikam à BizTalk (Sender.csproj).

    Flux de messages

    Le flux de message dans la solution terminée est illustré dans la figure suivante :

    Flux de message du tutoriel AS2

    Les composants du didacticiel traitent le message comme suit :

  1. Vous utilisez l’applicationsender.exe pour envoyer le message EDI/AS2 d’origine du partenaire Fabrikam à l’ordinateur BizTalk Server. Sender.exe envoie le message EDI/AS2 au répertoire virtuel Contoso.

    Remarque

    Les événements de cette liste peuvent ne pas se produire dans l’ordre indiqué.

    Le message de test est X12_00401_864.edi dans \Program Files\Microsoft BizTalk Server 20xx\SDK\AS2 Tutorial.

  2. Le Receive_AS2 emplacement de réception unidirectionnel reçoit le message EDI de Fabrikam à l’aide de l’extension ISAPI BTSHTTPReceive.dll pour récupérer le fichier à partir du répertoire virtuel Contoso. Le pipeline de réception décode le message AS2, désassemble l’échange EDI, puis dépose le code XML du message dans la MessageBox.

  3. Le pipeline de réception génère un MDN pour le message AS2, et puisque le MDN est configuré pour être asynchrone, le pipeline de réception insère le MDN dans la MessageBox.

  4. Le pipeline de réception génère un accusé de réception 997 en réponse à l’échange EDI, et place le 997 dans la MessageBox.

  5. Le port d'envoi unidirectionnel statique Send_Payload_EdiXml récupère la charge utile EDI à partir de MessageBox, en filtrant sur la propriété de contexte BTS.MessageType.

  6. Le port d’envoi de charge utile envoie le fichier XML contenant la charge utile EDI à l’application Contoso principale, représentée par le dossier \_EDIXMLToContoso. Ce port d’envoi utilise un pipeline d’envoi PassThruTransmit.

  7. Le port d’envoi dynamique Send_Async_MDN récupère le MDN asynchrone à partir de MessageBox, filtrant sur la propriété de contexte EdiIntAS.IsAS2AsynchronousMdn.

  8. Le port d’envoi MDN retourne le MDN dans le dossier \_MDNToFabrikam. Étant donné qu’il s’agit d’un port d’envoi dynamique, il utilise l’adresse dans la ligne de réception-Delivery-Option dans l’en-tête du message (http://localhost/Fabrikam/Default.aspx?Destination=_MDNToFabrikam) pour acheminer le message vers le dossier \_MDNToFabrikam.

  9. Le port d’envoi Send_Async_997 récupère le 997 à partir du MessageBox, en filtrant sur la propriété de contexte BTS.MessageType.

  10. Le port d’envoi 997 utilise le transport HTTP pour envoyer le message 997 généré par le pipeline de réception EdiReceive au dossier \_997ToFabrikam. Le port d’envoi envoie le message à la page default.aspx Fabrikam à l’aide de l’URI http://localhost/Fabrikam/Default.aspx?Destination=_997ToFabrikam. La page default.aspx envoie ensuite le 997 au dossier \_997ToFabrikam.

    Pour effectuer ce didacticiel, vous devez être informé des éléments suivants :

  • Pipelines et composants de pipeline BizTalk Server

  • Adaptateur HTTP

  • Ports et emplacements de réception

  • Ports d’envoi

Dans cette section

Voir aussi

Didacticiels BizTalk Server