Freigeben über


Konfigurieren der Form 'Senden'

Bild, das die Form
Form „Senden“

Wenn Sie erwarten, eine indirekte oder asynchrone Antwort (ohne Verwendung eines Ports vom Typ "Anforderungsantwort") auf die von Ihnen gesendete Nachricht zu empfangen, müssen Sie die Nachricht mit der Orchestrierungsinstanz korrelieren, die derzeit ausgeführt wird, sodass die Antwortseite die Antwort an die richtige Instanz richtet. Sie können einen folgenden Korrelationssatz auf das Shape Senden für eine zuvor initialisierte Korrelation anwenden, oder Sie können einen Initialisierungskorrelationssatz anwenden. Weitere Informationen finden Sie unter Verwenden von Korrelationen in Orchestrierungen.

So konfigurieren Sie eine Form vom Typ 'Senden'

  1. Legen Sie eine Nachricht und einen Portvorgang fest.

    1. Überprüfen Sie im Fenster Orchestrierungsansicht, ob in der Orchestrierung für den zu sendenden mehrteiligen Nachrichtentyp sowohl eine Nachricht als auch ein Portvorgang definiert ist.

    2. Wählen Sie in der Eigenschaftenfenster in der Dropdownliste Message-Eigenschaft die nachricht aus, die gesendet werden soll.

    3. Wählen Sie in der Eigenschaftenfenster den Portvorgang aus, der die Nachricht aus der Dropdownliste Portvorgang sendet.

      – Oder –

      Ziehen Sie den Sendeconnector aus dem Shape Senden an den Portsocket, der die Nachricht sendet.

  2. Geben Sie Korrelationssätze an, um die Nachrichten einzuschränken, die vom Send-Shape gesendet werden, oder um die Werte in einem Korrelationssatz zu initialisieren.

    1. Überprüfen Sie für jeden Korrelationssatz, den Sie verwenden möchten, einen Korrelationssatz in der Dropdownliste für die Eigenschaft Folgende Korrelationssätze .

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

Übermittlungsbenachrichtigung

Um zu testen, ob eine Nachricht über einen Sendeport erfolgreich gesendet wurde, gehen Sie folgendermaßen vor:

  1. Legen Sie die Form Senden in einem nicht transaktionalen, lang ausgeführten oder atomarischen Bereich ab.

  2. Legen Sie an Ihrem Sendeport die DeliveryNotification-Eigenschaft auf Übertragen fest.

  3. Fügen Sie dem Bereich einen catch-Handler hinzu, um die Ausnahme DeliveryFailureException zu behandeln.

    Hinweis

    Wenn das Shape Senden in einem atomaren Bereich enthalten ist, kann deliveryFailureException weiterhin abgefangen werden, erfordert jedoch, dass eine äußere Bereichsform hinzugefügt wird, deren Transaktionstyp auf Lange Ausführung oder Keine festgelegt ist. Atomare Bereiche können Ausnahmen nicht direkt abfangen.

    Die Orchestrierung wartet auf eine Bestätigung am Ende des einschließenden nicht atomaren Bereichs oder am Ende der Orchestrierung.

Hinweis

Dies gilt nur für unidirektionale Vorgänge. Fehler in bidirektionalen (Anforderungsantwort) Vorgängen führen zu der Ausnahme SoapException (negative Bestätigung), auch dann, wenn das Portattribut nicht festgelegt wurde.

Hinweis

Die Übermittlungsbenachrichtigung wird für direkte Bindungen nicht unterstützt.

Weitere Informationen

Fehlerbehandlung