Traitement de l’adaptateur d’envoi MLLP
L’adaptateur d’envoi MLLP (Minimal Lower Layer Protocol) prend en charge les modes de transport unidirectionnel et bidirectionnel dans les configurations suivantes :
Adaptateur d’envoi de sollicitation-réponse bidirectionnel
Adaptateur d’envoi unidirectionnel configuré pour recevoir des accusés de réception (ACL)
Adaptateur d’envoi unidirectionnel configuré pour aucun message de retour
Adaptateur MLLP d’envoi bidirectionnel de sollicitation-réponse
Utilisez cet adaptateur dans un vrai scénario synchrone de bout en bout. Par conséquent, vous ne pouvez utiliser cet adaptateur qu’avec une seule partie de destination. L’adaptateur d’envoi maintient en permanence une connexion ouverte sur la partie distante (URL) jusqu’à ce qu’il achemine un message de retour vers le port de réception de la réponse de demande. Consultez le diagramme suivant pour connaître l’architecture du traitement des réponses aux demandes/sollicitations.
Lorsque vous utilisez cette carte, vous pouvez diriger le système pour qu’il retourne un ACK ou un message de réponse à l’application métier. Vous le faites avec le paramètre Router ACK to Send Pipeline on Request Response Receive Port dans le Explorer de configuration BTAHL7. Sélectionnez cette propriété pour renvoyer un ACK ou désélectionnez-la pour renvoyer une réunion de réponse.
Une fois qu’un port d’envoi utilisant cet adaptateur a correctement envoyé le message d’origine, BTAHL7 supprime ce message. Le pipeline de réception associé à ce port d’envoi ne génère pas d’ACK. BizTalk transfère la réponse de requête à l’application source, quelle que soit la valeur du champ MSA2 de cette réponse.
Adaptateur MLLP d’envoi unidirectionnel configuré pour recevoir des AK
Cet adaptateur reçoit les ACL sur la même connexion de socket que celle sur laquelle il envoie le message d’origine et remet les ACL à l’emplacement de réception. L’adaptateur d’envoi maintient en permanence une connexion ouverte par rapport à la partie distante (URL), même si aucun message n’attend BizTalk Server pour l’envoyer. Si plusieurs ports pointent vers la même partie distante, l’adaptateur d’envoi conserve une connexion pour chaque port d’envoi.
Le programme d’installation de Microsoft BizTalk Accelerator pour HL7 (BTAHL7) installe un emplacement de réception par défaut, TwoWayAckReceiveLocation. Vous pouvez utiliser cet emplacement de réception avec l’adaptateur d’envoi MLLP pour recevoir les ACL. Pour cette configuration du port d’envoi à l’aide de cette carte, vous devez associer un emplacement de réception au port d’envoi.
Utilisez ce port d’envoi si vous êtes configuré pour recevoir un message de réponse avec un champ MSA ou pour prendre en charge plusieurs destinations. L’adaptateur de sollicitation-réponse bidirectionnel ne fonctionne pas avec le champ MSA ou avec plusieurs destinations.
Accusés de réception reçus par l’adaptateur d’envoi MLLP unidirectionnel
Lorsqu’un adaptateur d’envoi MLLP unidirectionnel configuré pour les AK en reçoit un, BizTalk Server supprime le message d’origine de la base de données MessageBox, le réessaye ou le suspend, en fonction du type de l’ACK. BTAHL7 analyse l’ACK en deux phases :
La première phase est effectuée dans l’adaptateur d’envoi, où BTAHL7 analyse le champ MSA1 pour déterminer le type de l’ACK.
Dans la deuxième phase, BTAHL7 effectue une analyse complète de l’ACK, puis envoie l’ACK à la base de données MessageBox.
Vous configurez l’ACK attendu par l’adaptateur d’envoi bidirectionnel dans le Explorer de configuration BTAHL7.
Le tableau suivant montre les ACL qu’un adaptateur d’envoi MLLP peut recevoir et l’action résultante sur le message d’origine.
ACK reçu | Action sur le message d’origine |
---|---|
Valider l’acceptation ou accepter l’application | Supprimer de la base de données MessageBox |
Commit/Application, Reject ACK ou ACK non valide | Interrompre |
Erreur de validation/d’application | Nouvelle tentative/Déplacement vers le transport/Suspension de sauvegarde |
Réussite de L’ACK statique | Supprimer de la base de données MessageBox |
Échec D’ACK statique | Interrompre |
Le tableau suivant indique les conditions ACK qui ne sont pas valides.
Instance | Condition |
---|---|
HL7 (original, amélioré, différé) | 1. Ne contient pas de code XML. 2. N’ayant pas la structure, le champ MSA1 ne peut pas être récupéré ; ou le champ MSA1 ne contient pas l’une des valeurs autorisées (CA, AA, CR, AR, CE, AE). |
statique | Ne correspond pas à l’une des valeurs autorisées pour la réussite ou l’échec de L’ACK. |
Contient du code XML | Traité comme un ACK d’acceptation (quel que soit le contenu) et la suppression du message d’origine. |
Conditions d'erreur
Les éléments suivants peuvent se produire en cas de condition d’erreur ou d’inactivité :
Si le message sortant échoue dans la sérialisation, l’adaptateur d’envoi n’envoie pas le message, sauf s’il s’agit d’un message par lot indiquant que BTAHL7 est en streaming. Si tel est le cas et que BTAHL7 détecte un échec de sérialisation à mi-parcours du message, l’adaptateur n’envoie pas EB/CR, car BizTalk Server n’a pas envoyé le message complet. Le pipeline consigne une erreur et l’adaptateur tente de renvoyer le message de lot.
Si une opération d’envoi échoue, l’adaptateur tente d’envoyer à nouveau le message, jusqu’au nombre de nouvelles tentatives spécifié dans les paramètres de configuration du port d’envoi. Après avoir épuisé les nouvelles tentatives, le message passe au transport de sauvegarde, le cas échéant. Si tout le reste échoue, le message est suspendu. Le message suspendu sera au format d’origine (XML).
BTAHL7 peut générer les événements suivants pour décrire les conditions d’erreur :
Événement | id | Condition d'erreur |
---|---|---|
ErrorSendingMessage | 8450 | Impossible d’envoyer un message à la partie distante. Les raisons les plus courantes sont les défaillances réseau ou les délais d’expiration. BTAHL7 peut signaler cette erreur si le pipeline d’envoi échoue lors de la sérialisation d’un message volumineux. |
ErrorReceivingAck | 8451 | Impossible de recevoir un accusé de réception, en raison d’une défaillance réseau ou d’un délai d’expiration. |
ErreurConnecting | 8453 | Impossible d’établir une connexion TCP à la partie distante : le nom d’hôte n’a pas pu être résolu, ou la partie distante n’écoute pas sur le port ou refuse les connexions. |
Notes
La configuration de la partie de destination (dans MSH5 du message d’origine) détermine si BTAHL7 attend un HL7 ou un ACK statique. En cas d’incompatibilité, BTAHL7 considère l’ACK comme non valide.
Une fois que l’adaptateur d’envoi MLLP a traité un ACK, l’ACK est remis à l’emplacement de réception en tant que message. Le désassembleur effectue l’analyse complète de l’ACK, ce qui peut entraîner des erreurs d’analyse signalées par le pipeline de réception et/ou la suspension de l’ACK.
Voir aussi
Traitement des messages encodés avec MLLP
Paramètres de configuration pour les adaptateurs d’envoi et de réception
Traitement de l’adaptateur de réception MLLP
Configuration d’un port d’envoi pour recevoir les accusés de réception