Partager via


Traitement côté réception d'un message EDI entrant sur AS2

Le traitement côté réception d'un message EDI sur AS2 comprend la réception d'un message AS2, l'envoi d'un MDN, le traitement de la charge EDI et l'envoi des accusés de réception EDI (si l'option est activée).

Le pipeline AS2EdiReceive reçoit le message AS2 et désassemble la charge EDI dans le message AS2. Le pipeline d'envoi AS2EDISend envoie un MDN en réponse au message AS2 et un accusé de réception EDI est renvoyé en réponse au message EDI. Vous pouvez inclure ces pipelines dans un port d'envoi de sollicitation-réponse HTTP bidirectionnel (si le MDN est synchrone) ou dans un port d'envoi HTTP unidirectionnel et un port de réception HTTP unidirectionnel (si le MDN est asynchrone).

Pour recevoir un échange EDI sur AS2, BizTalk Server effectuez les étapes suivantes :

  • Traitement du message AS2 reçu

  • Envoi d'un MDN

  • Traitement de la charge utile EDI reçue

  • Envoi d'un accusé de réception EDI

Traitement du message AS2 reçu

Le décodeur AS2 du pipeline de réception AS2EdiReceive traite un message AS2 entrant. Il le fait à l’aide de la InboundHTTPHeaders propriété de contexte, que l’adaptateur HTTP crée à partir des en-têtes HTTP dans le message AS2. Ces en-têtes comprennent les en-têtes AS2 suivants :

  • AS2-To

  • AS2-From

  • AS2-Version

  • MessageID

  • OriginalMessageID (pour MDN uniquement)

  • Disposition-Notification-To (si un MDN est demandé)

  • Receipt-Delivery-Option (si un MDN est demandé)

  • Signed-Receipt-MICalg (si un MDN est demandé)

    Le décodeur AS2 promeut ces en-têtes dans le contexte du message. Puis il effectue les tâches suivantes :

  • Procède à la résolution de l'accord afin de déterminer les propriétés à utiliser pour traiter le message entrant. Pour plus d’informations, consultez Résolution du contrat pour les messages AS2 entrants.

  • Authentifie l’expéditeur à l’aide de la propriété AS2-From .

    Notes

    Pour plus d’informations sur le traitement que les pipelines de réception AS2 effectuent sur les messages AS2 entrants, consultez Traitement d’un message AS2 entrant.

Envoi d'un MDN

Si un MDN a été activé, le pipeline AS2EdiReceive génère un MDN et le dépose dans la MessageBox.

Notes

Pour plus d’informations sur le traitement effectué par les pipelines de réception AS2 sur les MDN sortants, consultez Génération d’un MDN sortant.

Mode synchrone

Si un message EDI est envoyé via AS2 en mode synchrone, BizTalk Server retourne le MDN via cette connexion synchrone, puis ferme la connexion. Étant donné que la connexion a été fermée, BizTalk Server ne peut pas retourner un accusé de réception EDI (997, TA1 ou CONTRL) sur cette connexion. Les accusés de réception EDI sont toujours envoyés de façon asynchrone sur AS2.

Le MDN est généré par le pipeline AS2EDIReceive, acheminé vers la MessageBox par ce pipeline et automatiquement récupéré par le pipeline AS2Send faisant partie du port de réception de requête-réponse.

Mode asynchrone

Si un message EDIINT/AS2 est envoyé sur le transport HTTP/HTTPS en mode asynchrone, vous devez créer un port d'envoi pour renvoyer le MDN séparément. Vous pouvez configurer ce port d'envoi pour renvoyer des MDN asynchrones et des accusés de réception EDI. S'il s'agit d'un port d'envoi dynamique, il utilise l'adresse située sur la ligne Receipt-Delivery-Notification de l'en-tête du message pour acheminer le message vers le partenaire commercial. S'il s'agit d'un port d'envoi statique, il utilise l'adresse configurée dans les propriétés du port. Ce port d’envoi s’abonne au MDN asynchrone à l’aide d’une expression de EdiIntAS.IsAS2AsynchronousMDN==True filtre.

En cas de traitement asynchrone, le pipeline AS2EdiReceive génère une réponse HTTP en plus du MDN. Le port de réception retourne la réponse HTTP à l'expéditeur d'origine via la connexion HTTP entre le port de réception et le tiers à l'origine de l'envoi, ce qui a pour effet de fermer cette connexion. Ceci est nécessaire car la connexion synchrone n'est pas fermée par le MDN.

Si BizTalk transmet un message EDIINT/AS2 via HTTP/HTTPS mais que le traitement de la charge EDI échoue, l'expéditeur du message d'origine reçoit un MDN indiquant un traitement AS2 réussi et un accusé de réception EDI indiquant une défaillance lors du traitement EDI. La charge EDI est suspendue et une erreur est consignée.

Traitement de la charge EDI reçue

Si l’option de traitement par lots entrant pour un contrat EDI est définie sur Fractionner l’échange, le pipeline de réception AS2EdiReceive associé à l’emplacement de réception de la réponse de requête bidirectionnelle analyse le message EDI dans un message XML distinct pour chaque jeu de transactions EDI. Si l’option Traitement par lots entrant est définie sur Préserver l’échange, le pipeline de réception n’analyse pas le message EDI.

Le pipeline de réception achemine les documents informatisés XML ou l'échange EDI conservé vers la MessageBox BizTalk.

Si le message doit être acheminé à une application principale, un port d'envoi récupère le message XML et l'achemine vers l'application en question.

Notes

Ce port d'envoi peut être de n'importe quel type.

Envoi de l'accusé de réception EDI

Si un accusé de réception EDI a été activé, le Désassembleur EDI du pipeline de réception AS2EdiReceive génère un accusé de réception EDI (s'il est activé). L'accusé de réception EDI doit être envoyé par le pipeline d'envoi AS2EdiSend via un port d'envoi unidirectionnel disctinct.

Si vous configurez un port de réception de requête-réponse bidirectionnel pour les messages EDI/AS2 afin de renvoyer un MDN synchrone ou une réponse HTTP (dans le cas d’un MDN asynchrone), la propriété Router ACK to send pipeline on request-response receive port (définie dans la page Paramètres de l’hôte local du contrat EDI unidirectionnel dans la boîte de dialogue Propriétés de l’accord ) est ignorée. Même si cette propriété est sélectionnée, le pipeline d'envoi renvoie un MDN synchrone ou une réponse HTTP et non un accusé de réception EDI.

Pour plus d’informations, consultez Envoi d’un accusé de réception EDI.

Voir aussi

Réception des messages AS2 par BizTalk Server