Freigeben über


Konfigurieren der Form 'Empfangen'

Bild, das die Empfangsform darstellt.
Form "Empfangen"

Ein Receive-Shape kann verwendet werden, um eine Orchestrierung zu starten. Wenn Sie die Activate-Eigenschaft auf True festlegen, testet die Runtime-Engine eine eingehende Nachricht, um festzustellen, ob sie vom richtigen Typ ist und ob der Filterausdruck erfüllt ist, wenn ein Filter angewendet wurde. Wenn die Kriterien für den Empfang der Nachricht erfüllt sind, erstellt und führt das Laufzeitmodul eine neue Orchestrierungs-instance aus, und das Shape Empfangen empfängt die Nachricht.

Hinweis

Wenn die Activate-Eigenschaft eines Receive-Shapes auf True festgelegt ist, muss receive die erste Aktion in der Orchestrierung sein.

Hinweis

Wenn die Activate-Eigenschaft für alle Receive-Shapes auf False festgelegt ist, muss Ihre Orchestrierung von einer anderen Orchestrierung aufgerufen werden, um ausgeführt zu werden.

Hinweis

Wenn Sie ein Receive-Shape in einen Bereich einfügen, dessen Activate-Eigenschaft auf True festgelegt ist, und dann ihrer Orchestrierung eine .NET-Klassenvariable hinzufügen, ohne die Use Default Constructor-Eigenschaft der Variablen in False zu ändern, befindet sich die activate receive-Anweisung außerhalb des Bereichs im generierten XLANG/S-Code, aber die Entwurfsoberfläche zeigt sie weiterhin als innerhalb des Bereichs an.

Für jede Orchestrierung muss mindestens ein Receive-Shape vorhanden sein, wobei die Activate-Eigenschaft auf True festgelegt ist.

Empfangen von Shape Activate True

Wenn Sie für eine Nachricht, die Sie zuvor gesendet haben, den Empfang einer indirekten oder asynchronen Antwort (nicht auf einem Port vom Typ "Anforderungsantwort") erwarten, müssen Sie die Nachricht mit der aktuell ausgeführten Orchestrierungsinstanz korrelieren, sodass die Antwort von der Antwortseite an die richtige Instanz gerichtet wird. Sie können auf die Form Empfangen einen Initialisierungskorrelationssatz anwenden, wenn Sie für Werte in der eingehenden Nachricht eine anschließende Korrelation durchführen möchten, oder einen nachfolgenden Korrelationssatz anwenden, um die Korrelation mit einem zuvor initialisierten Korrelationssatz durchzuführen. Weitere Informationen finden Sie unter Verwenden von Korrelationen in Orchestrierungen.

So konfigurieren Sie eine Form vom Typ 'Empfangen'

  1. Legen Sie eine Nachricht und einen Portvorgang fest.

    1. Stellen Sie in der Orchestrierungsansicht sicher, dass in der Orchestrierung für den zu empfangenden Nachrichtentyp eine Nachricht und ein Portvorgang definiert sind.

      Wählen Sie in der Eigenschaftenfenster die Nachricht aus, die aus der Dropdownliste Message-Eigenschaft empfangen werden soll.

    2. Wählen Sie in der Eigenschaftenfenster den Portvorgang aus, um die Nachricht aus der Dropdownliste Vorgang zu empfangen.

      – Oder –

      Ziehen Sie den Empfangsconnector aus der Empfangsform an den Portsockel, der die Nachricht empfängt.

  2. Geben Sie an, dass die Receive-Form die Orchestrierung aktiviert.

  3. Setzen Sie im Eigenschaftenfenster die Eigenschaft Aktivieren auf Wahr.

    1. Klicken Sie im Eigenschaftenfenster auf die Schaltfläche Auslassungspunkte (...) für die Eigenschaft Filterausdruck, um einen Filter zu erstellen, um die Meldungen einzuschränken, die diese Empfangsform akzeptiert.

      – Oder –

      Klicken Sie mit der rechten Maustaste auf die Form Empfangen , und klicken Sie dann auf Filterausdruck bearbeiten.

    2. Das Dialogfeld Filterausdruck wird angezeigt. Erstellen Sie mithilfe dieses Dialogfelds einen oder mehrere Filterausdrücke.

      Hinweis

      Ein Nachrichtentyp muss definiert und dem Shape Receive zugewiesen werden, bevor Sie einen Filter darauf anwenden können.

  4. Geben Sie Korrelationssätze an, um die Nachrichten einzuschränken, die das Empfangs-Shape akzeptiert.

    • Überprüfen Sie für jeden Korrelationssatz, dem Sie folgen möchten, einen Korrelationssatz in der Dropdownliste der Eigenschaft Folgende Korrelationssätze .

    • Überprüfen Sie für jeden Korrelationssatz, den Sie initialisieren möchten, einen Korrelationssatz aus der Dropdownliste für die Eigenschaft Korrelationssätze initialisieren .

Rastersteuerelement 'Filterausdruck'

Ein Filterausdruck wird erstellt, indem Sie mithilfe dieses Rastersteuerelements die Prädikate definieren, aus denen der Ausdruck besteht. Sie können Prädikate in den Zellen des Rasters hinzufügen, bearbeiten und löschen. Dieses Rastersteuerelement verfügt über vier Spalten: Eigenschaft, Operator, Wert und Gruppierung.

  • Eigenschaft. Sie können einen Verweis auf eine Eigenschaft eingeben oder diesen in der Dropdownliste der Zelle auswählen. Die Liste enthält Eigenschaften für die eingehende Nachricht.

  • Operator. Sie können einen Operator eingeben oder diesen in der Dropdownliste der Zelle auswählen. Es stehen folgende Auswahloptionen zur Verfügung:

    Operand Bedeutung
    == Ist gleich
    != Ist ungleich
    < Ist kleiner als
    <= Ist kleiner als oder gleich
    > Ist größer als
    >= Ist größer als oder gleich
    Exists Exists
  • Wert. Zellen in der Spalte Wert können eine beliebige Konstante enthalten, die Sie eingeben: ein Zeichenfolgenliteral, ein ganzzahliges Literal oder NULL.

    Hinweis

    Wenn die ausgewählte Eigenschaft eine Zeichenfolge ist, muss der Wert in Anführungszeichen angegeben werden, z. B. SMTP.From = "MeinServer".

  • Gruppieren. In dieser Spalte steuern Sie die Gruppierung von Prädikaten. Filterausdrücke werden grundsätzlich in disjunktiver Normalform (DNF) angegeben, damit die Gruppierung automatisch bestimmt werden kann. UND bedeutet, dass das Prädikat mit dem nachfolgenden Prädikat zu einer Gruppe zusammengefasst wird. ODER bedeutet, dass das Prädikat vom Prädikat in der nachfolgenden Zeile getrennt ist. Wenn Sie Prädikate in einer Gruppe zusammenfassen, werden links neben dem Rastersteuerelement graue Klammern angezeigt. Prädikatgruppen können nicht geschachtelt werden. Wenn Sie in dieser Zelle keinen Wert angeben, wird darin UND als Standardwert verwendet.

    Sie können beispielsweise einen Ausdruck wie den folgenden erstellen:

    MSMQ.MsgID = 1

    Mit diesem Filter würde die Sendeportgruppe nur Nachrichten abonnieren, deren MSMQ-Nachrichten-ID den Wert 1 besitzt.

    Sie können weitere Ausdrücke erstellen und angeben, dass diese eine AND- oder OR-Beziehung mit anderen Ausdrücken haben, z. B.:

    MSMQ.MsgID = 1 OR

    SMTP.From = "MyServer"

    In diesem Fall würde die Sendeportgruppe alle Nachrichten abonnieren, deren MSMQ-Nachrichten-ID den Wert 1 besitzt oder die von einem SMTP-Server mit dem Namen "MeinServer" gesendet wurden.

Bezeichnung 'Hinweis'

Dieses Feld bietet Hilfe für Benutzer. Der Text der Bezeichnung ändert sich je nachdem, in welcher Spalte sich die aktive Zelle befindet. Der Text enthält den Spaltennamen und einen Hinweistext, z. B.:

  • Eigenschaft. Wählen Sie in der Liste eine Eigenschaft für die eingehende Nachricht aus.

  • Operator. Wählen Sie einen Operator aus, um Eigenschaft mit Wert zu vergleichen.

  • Wert. Wählen Sie in der Liste eine Nachrichteneigenschaft aus, oder geben Sie einen literalen Wert ein.

  • Gruppieren. Geben Sie an, auf welche Weise diese Zeile mit der nächsten Zeile gruppiert werden soll. Mit 'UND' werden die Zeilen verbunden, mit 'ODER' werden sie getrennt.

Schaltfläche „Nach oben“

Klicken Sie auf diese Schaltfläche, um eine ausgewählte Zeile nach oben zu verschieben. (Wählen Sie zunächst eine Zeile aus, indem Sie auf die Schaltfläche nach rechts (>) auf der linken Seite des Rastersteuerelements klicken.)

Schaltfläche „Nach unten“

Klicken Sie auf diese Schaltfläche, um eine ausgewählte Zeile nach unten zu verschieben. (Wählen Sie zunächst eine Zeile aus, indem Sie auf die Schaltfläche nach rechts (>) auf der linken Seite des Rastersteuerelements klicken.)

Feld 'Erstellter Filterausdruck'

In diesem schreibgeschützten Textfeld wird der Ausdruck angezeigt, während Sie ihn erstellen.

In diesem Abschnitt

Verwenden von Filtern mit der Form „Nachrichtenempfang“