Frage

Wie kann ich rufe eine BizTalk-Orchestrierung dynamisch die Orchestrierung Namen zu kennen?

Die Call-Orchestrierung Formen müssen die Namen und die Parameter von Orchestrierungen zur Entwurfszeit kennen. Ich habe versucht, ‚Anruf‘ xlang Schlüsselwort aber auch Orchestrierung Namen als Design-Zeit wie in Ausdruck Form erforderlich ist, können wir als

schreiben
call BizTalkApplication1.Orchestration1(param1,param2);

Ich bin für einige Art und Weise suchen Orchestrierung Namen angeben Aufruf aus der eingehenden Nachricht kommt oder von SSO-Konfigurationsspeicher.

EDIT: I'musing BizTalk 2006 R1 (ESB Guidance für R2 ist und ich nicht bekommen, wie es mein Problem lösen könnte)

War es hilfreich?

Lösung

So wie ich etwas ähnliches in der Vergangenheit erreicht haben, ist durch direkte Bindung Ports in den Orchestrierungen mit und lassen Sie die MsgBox die schmutzige Arbeit für mich tun. Im Grunde geht es so etwas wie folgt aus:

  1. Nehmen Sie die aufrufbare Orchestrierungen direkt gebundenen Port verwenden an Ihre Form Aktivierung erhalten.
  2. Stellen Sie einen Filterausdruck auf Ihrer Form mit einer benutzerdefinierten kontextbasierte Eigenschaft erhalten aktivieren und legen Sie es auf einen Wert gleich, der eindeutig die Orchestrierung (wie die Orchestrierung Namen oder was auch immer) identifiziert
  3. In der anrufenden Orchestrierung, erstellen Sie die Nachricht, die Sie verwenden möchten, werden die neue Orchestrierung abzufeuern. In dieser Nachricht, stellen Sie Ihre benutzerdefinierte Kontexteigenschaft auf den Wert, die Filter in der spezifischen Orchestrierung verwendet entspricht, die Sie schießen wollen.
  4. Senden Sie die Nachricht über einen direkten gebundenen Sendeport, so dass sie direkt an den MsgBox gesendet wird und das Pub / Sub-Mechanismen in BizTalk kümmert mich um den Rest.

Eine Sache, in Schritt aufpassen 4: diese Arbeit richtig haben, müssen Sie eine neue Korrelation Set Art zu schaffen, die Ihre benutzerdefinierte Kontexteigenschaft enthält, und vergewissern Sie sich, dass der direkte gebundenen Sendeport „folgt“ die Korrelation auf der Sende gesetzt. Andernfalls wird die benutzerdefinierte Eigenschaft nur (und nicht gefördert) an dem msg Kontext geschrieben werden und das Routing wird fehlschlagen.

Hope, das hilft!

Andere Tipps

Schauen Sie sich ESB Guidance (www.codeplex.com/esb) Dieses Paket enthält die Funktionen, die Sie suchen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top