Also das Modell, das ich für meine Lösung brauchen, ist wie folgt:Biztalk Port Group und Filtern
Ich brauche die Datenbank abzufragen und basierend auf einem Ergebnis, schaffen für mehr Daten eine Anfrage an die Datenbank, erhalten die Antwort und übergeben Sie es an eine Gruppe von Ports, für die basierend auf einer heraufgestuften Eigenschaft nur einer der Ports aktiv ist.
Es sieht wie folgt aus:
http://i40.tinypic.com/2zq61qh.jpg
Wenn Sie jedoch „Temp Out“ zuweisen, um einen Sendeport-Gruppe, die Nachricht an alle Ports in der Gruppe gesendet wird, ungeachtet der Filter gesetzt an jedem Port. Aus meiner Sicht ist dies das erwartete Verhalten (lesen Sie here).
Also erkundete ich andere Optionen wie Content Based Routing (CBR-Beispiel) wie im SDK. Sie können diese here anzeigen.
Ich habe dies versucht und die Orchestrierung vollständig entfernt (es ist wirklich nicht erforderlich). Es gibt jedoch schwerwiegende Routing-/Subskriptionsfehler, und bei weiteren Untersuchungen scheint es, dass Sie dies nicht tun können, wenn Sie über Solicit-Response-Ports verfügen. Einige Artikel dazu here. Ich habe ziemlich genau das gleiche Problem this Benutzer tut.
Am Ende ist es mir egal, ob ich eine Orchestrierung verwende oder nicht. Ich brauche jedoch eine Lösung, in der ich die Nachricht an mehrere Sende-Ports weitergeben kann, und ich kann nur eine tatsächlich die Nachricht verwenden und senden. Dies ist erforderlich, damit ich Ports leicht bearbeiten und hinzufügen kann, ohne etwas anderes oder harte Code-Entscheidungen in die Orchestrierung ändern zu müssen.
In gewisser Weise habe ich eine Lösung gefunden. Ich entfernte die Orchestrierung, förderte Eigenschaften und auf dem zweiten und dritten Hafen, setze Filter, in denen ich BTS.SPName definierte (der ich dachte, dass Name der gespeicherten Prozedur aber jetzt verstanden ist Send Port Name). Die Routingprobleme waren, weil ich sie nicht vollständig abonniert hatte. – achinda99