[lang_de]

Mit Hilfe der Biztalk Management Oberfläche ist es nur möglich, einen einzigen Empfangsport mit einer Orchestration zu verknüpfen. Hier ein Weg, wie man mehrere Empfangsports verknüpfen kann.

1) Legen Sie die Empfangsports mit eindeutigen und zum Projekt passenden Namen in der richtigen Biztalk Applikation an.

2) Legen Sie in der Orchestration einen neuen One Way Port an, bei welchem Sie Nachrichten empfangen können. Als Portbinding geben Sie bitte „Direkt“ an. In diesem Beispiel müssen Sie angeben, dass die Verknüpfung via „Filter Expressions“ durchgeführt wird.

3) Legen Sie in der Orchestration ein „Receive Shape“ an, in dessen Eigenschaften müssen die Filter Expressions gepflegt werden. Hier geben Sie sämtliche unter 1) erstellten Empfangsports mit BTS.ReceivePortName an, z.B. (BTS.ReceivePortName == „ReceiveMsgPort1“) und verknüpfen die Einträge mit OR. Die resultierende Wert der Eigenschaft sollte dann in Visual Studio in etwa so aussehen: (BTS.ReceivePortName == „ReceiveMsgPort1“) (BTS.ReceivePortName == „ReceiveMsgPort2“)

Damit werden nun sämtliche Nachrichten aus der Messagebox, welche mit den oben definierten Empfangsports empfangen wurden, an die Orchestration weiter gegeben.

[/lang_de]

[lang_en]

In the BizTalk Server Management Console, it’s only possible to bind 1 physical Receive Port to 1 logical (Orchestration-)Receive Port.
To bind multiple receive ports to an orchestration, you could follow these steps:

1) Create receive ports with unique and approviate names in the correct biztalk application.

2) Create a new one way port in your orchestration, which can receive messages. As port binding please use „direct“. In this example please make sure, that „Routing between ports will be defined by filter expressions on incoming messages in the Messagebox database“ is selected.

3) Create or select your activating Receive Shape and configure the „Filter Expression“ by clicking the ellipsis. In the Filter Expression add as many „BTS.ReceivePortName“-properties as Receive Ports you have created eralier. Set the values of the properties to the portnames of the Receive Ports and group each row by „OR“.
The Filter Expression should resemble something like this: (BTS.ReceivePortName == „ReceiveMsgPort1“) (BTS.ReceivePortName == „ReceiveMsgPort2“)

All the messages which originate from the filtered ports will be processed by the Orchestration

[/lang_en]


0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.