Freigeben über


Vereinbarungsauflösung und Ermittlung des Schemas für ausgehende EDI-Nachrichten

Die EDI-Sendepipeline muss die folgenden Aufgaben ausführen, um eine EDI-Nachricht an einen Handelspartner zu generieren:

  • Ermitteln der Vereinbarung, in die die Nachricht aufgelöst wird

  • Ermitteln des Schemas, das zum Überprüfen der Nachricht verwendet wird

Vereinbarungsauflösung

Die EDI-Sendepipeline führt das Nachschlagen der Handelspartnervereinbarung aus, indem mithilfe mehrerer Schritte ermittelt wird, ob eine Übereinstimmung zwischen dem ausgehenden Austausch und Eigenschaften in einer Vereinbarung vorliegt. Sobald BizTalk Server die Vereinbarung festgelegt hat, bestimmt es das Dokumentschema, das für den Austausch gilt (siehe unten). Zu diesem Zweck werden die Eigenschaften verwendet, die der betreffenden Vereinbarung zugeordnet sind, sowie das relevante Schema zum Generieren und Überprüfen der ausgehenden Nachricht.

Um die Vereinbarung zu lösen, gehen BizTalk Server wie folgt vor:

  1. Die Vereinbarung wird aufgelöst, indem die Kontexteigenschaft AgreementPartIDForSend der ID der unidirektionalen Vereinbarung zugeordnet wird. Diese Eigenschaft sollte ein ganzzahliger Typ sein. Sie kann in einer benutzerdefinierten Komponente festgelegt werden. sie wird nicht von BizTalk Server festgelegt.

  2. Wenn Schritt 1 nicht erfolgreich ist, wird die Vereinbarung durch Vergleich der folgenden drei Kontexteigenschaften mit den Vereinbarungseigenschaften aufgelöst: AgreementNameForSend, SenderPartyNameForSend, ReceiverPartyNameForSend. Beachten Sie, dass alle drei Eigenschaften festgelegt sein müssen, damit eine Vereinbarung erfolgreich aufgelöst werden kann. Diese Eigenschaften können in einer benutzerdefinierten Komponente festgelegt werden. sie wird nicht von BizTalk Server festgelegt.

  3. Wenn Schritt 2 nicht erfolgreich ist, wird die Vereinbarung aufgelöst, indem der Parteiname in den Nachrichtenkontexteigenschaften mit der DestinationPartyName-Eigenschaft abgleicht, die als zusätzlicher Vereinbarungslöser auf der Registerkarte Bezeichner der Vereinbarungseigenschaften festgelegt wird.

  4. Wenn Schritt 3 nicht erfolgreich ist, wird die Vereinbarung durch Vergleich der folgenden Eigenschaften im Kontext einer Nachricht mit denen in den Vereinbarungseigenschaften aufgelöst: DestinationPartySenderIdentifier, DestinationPartySenderQualifier, DestinationPartyReceiverIdentifier und DestinationPartyReceiverQualifier. Beachten Sie, dass alle vier Eigenschaften festgelegt sein müssen, damit eine Vereinbarung erfolgreich aufgelöst werden kann. Diese Eigenschaften können in einer benutzerdefinierten Komponente festgelegt werden. sie werden nicht von BizTalk Server festgelegt. Weitere Informationen finden Sie unten.

    Hinweis

    Wenn eine der oben genannten Kontexteigenschaften höhergestuft wird und BizTalk Server keine Vereinbarung finden kann, die diesen Kontexteigenschaften zugeordnet ist, wird die Nachricht BizTalk Server angehalten.

    Wenn der Benutzer absichtlich eine Sammlung von Kontexteigenschaften für die Vereinbarungsauflösung erstellt und der Konfliktlöser die unidirektionale Vereinbarung nicht identifiziert, wird die Nachricht angehalten. Bei einem Auflösungsfehler einer Vereinbarung basierend auf einer Sammlung von Kontexteigenschaften wird eine entsprechende Warnmeldung in das Ereignisprotokoll geschrieben.

  5. Wenn Schritt 4 nicht erfolgreich ist oder keine der oben genannten Kontexteigenschaften höher gestuft wird, wird die EDI-Nachricht in eine Vereinbarung aufgelöst, indem der Sendeport, der die Nachricht abonniert hat, dem Sendeport zugeordnet wird, dem eine Vereinbarung zugeordnet ist.

    Hinweis

    Wenn der gleiche Sendeport mehreren Vereinbarungen zugeordnet ist, generiert BizTalk Server einen Fehler.

  6. Wenn in den Schritten 1, 2, 3 oder 4 keine Vereinbarung gefunden wird, verwendet die Sendepipeline die Einstellungen der Ausweichvereinbarung, um die ausgehende Nachricht zu generieren.

    Vereinbarungsauflösung durch übereinstimmende Absender- und Empfängerkontexteigenschaften

    Im zweiten Schritt oben wurden für den Vergleich die folgenden vier Kontexteigenschaften verwendet: EDI.DestinationPartySenderIdentifier, EDI.DestinationPartySenderQualifier, EDI.DestinationPartyReceiverIdentifier und EDI.DestinationPartyReceiverQualifier. Der Namespace für diese Kontexteigenschaften ist http://schemas.microsoft.com/Edi/PropertySchema. BizTalk Server versucht, diese Werte mit den zugehörigen Absender- und Empfängerbezeichnern und Qualifizierern in den Unidirektionalen Vereinbarungseigenschaften abzugleichen. Für X12 sind diese Felder ISA05, ISA06, ISA07 und ISA08 auf der Seite Bezeichner der Registerkarte "Unidirektionale Vereinbarung" im Dialogfeld "Vereinbarungseigenschaften ". für EDIFACT sind diese Felder UNB2.1, UNB2.2, UNB3.1 und UNB3.2 auf der Seite Bezeichner der Registerkarte Unidirektionale Vereinbarung im Dialogfeld Eigenschaften der Vereinbarung .

    Sie müssen alle vier Kontexteigenschaften festlegen, um absenderseitige Vereinbarungsauflösung mithilfe aller vier Absender- und Empfängerbezeichner und -qualifizierer zu aktivieren. Auf diese Weise wird die Vereinbarung eindeutig identifiziert. Das Verwenden dieser Methode zum Nachschlagen der Vereinbarung verleiht Ihnen eine größere Flexibilität bei der absenderseitigen Verarbeitung. Durch diese Methode können Sie z. B. verhindern, dass unter bestimmten Umständen mehrere Sendeports erstellt und komplizierte Sendeportfilter vermieden werden. Außerdem können Sie das Festlegen der Eigenschaft OneWayAgreementId vermeiden, wenn dies gewünscht wird.

    Wenn alle vier Kontexteigenschaften für eine Nachricht festgelegt wurden und keine Übereinstimmung zwischen diesen Kontexteigenschaften und den Eigenschafteneigenschaften gefunden wurde, wird die Nachricht angehalten. Die Vereinbarung wird nur mithilfe des Sendeports aufgelöst, der einer Vereinbarung zugeordnet ist, wenn alle vier Kontexteigenschaften nicht festgelegt wurden.

Hinweis

Eine Nachricht in der EDI-Pipeline erreicht den nächsten Schritt in der Vereinbarungsauflösung, bis die Nachricht in dem Schritt aufgelöst wird, in dem die Vereinbarung den Status Aktivieren aufweist. Wenn die Nachricht z. B. im ersten Schritt der Vereinbarungsauflösung aufgelöst wird, die Vereinbarung jedoch einen deaktivierten Status aufweist, erreicht die Nachricht den nächsten Schritt für die Auflösung.

Schemaermittlung

Die EDI-Sendepipeline ermittelt das Schema, das auf die Nachricht zutrifft, aus dem Schemanamen und dem Schemanamespace, die in der XML-Zwischendatei für jeden Transaktionssatz (als Dokumenttypinformationen oder im Stammknoten) enthalten sind.

Für einen beibehaltenen Austausch verwendet die Sendepipeline die Dokumenttypinformationen in den einzelnen Transaktionssätzen der XML-Zwischendatei für den vollständigen Austausch. Sie verwendet die Kontrollsegmentschemas zum Verarbeiten der Umschlagsegmente.

Weitere Informationen

Senden von EDI-Nachrichten in BizTalk Server