メッセージ ボックスの直接バインド ポートの使用方法
メッセージ ボックスの直接バインド ポートを使用すると、明示的な受信者がない状態でメッセージをメッセージ ボックス データベースに直接ドロップでき、特定の送信者からのメッセージではなく特定の条件を満たすメッセージをサブスクライブできます。
MessageBox ダイレクト バインド ポートでメッセージを送信することは、メッセージ をメッセージ バス (この場合は MessageBox データベース) に発行することと同じです。 公開されたメッセージに対しては任意の数のサブスクライバーが存在することができ、メッセージを公開したときにメッセージに関連するサブスクライバーが存在しない場合は、"サブスクリプションが見つかりません。" 例外がスローされます。 特定の受信者を念頭に置いて MessageBox ダイレクト バインド ポートを介してメッセージを送信する場合は、目的のサブスクライバーが探す メッセージ割り当て 図形の特定の値にプロパティを設定できます。 BizTalk Server 定義済みプロパティ定義または独自のプロパティ定義に基づいてプロパティを設定できます。 次に例を示します。
myMessage(PropertyNamespace.PropertyName) = "My Property")
メッセージ ボックスの直接バインド ポートを使用したメッセージの受信は、フィルター条件を使用したメッセージ バスのサブスクライブに相当します。 メッセージの受信者は、オーケストレーションおよび送信ポートを含む、メッセージをサブスクライブできる任意の種類のサービスにすることができます。 アクティブ化する 受信 図形の場合、サブスクリプションはメッセージの種類とフィルター式であり、アクティブでない 受信 図形の場合、サブスクリプションはメッセージの種類と関連付けセットです。 すべての 受信 図形には、サブスクリプションの一部としてメッセージの種類が常に含まれます。
Note
アクティブ化している Receive 図形がSystem.Xml の種類のメッセージを受信している場合は、フィルター式を使用する必要があります 。 サブスクリプション定義ルーティングを使用する直接バインド されたポート上の XmlDocument または Microsoft.XLANGs.BaseTypes.Any 。
MessageBox ダイレクト バインド ポートに接続されているアクティブ化する 受信 図形にフィルター条件を指定しなかった場合、サブスクリプションは次のようになります。
http://schemas.microsoft.com/BizTalk/2003/system-properties.ReceivePortID == {2F6A80E1-2518-4A69-9C28-401C2DB1CBF6} And
http://schemas.microsoft.com/BizTalk/2003/system-properties.MessageType == http://MyMessageType
前の例では、メッセージ ボックスの直接バインド受信ポートは、ポートの操作の構成対象であるメッセージの種類と一致するすべてのメッセージを受信します。
Note
メッセージ ボックスの直接バインド受信ポートを使用する場合は、フィルターをできるだけ具体的なものにする必要があります。 フィルターを十分に具体的なものにしなかった場合、オーケストレーションが不要なメッセージを受信する可能性があります。
MessageBox ダイレクト バインド ポートを構成するには、ポート構成ウィザードの Message Box データベースの受信メッセージに対するフィルター式によって [ポート間のルーティングが定義されます ] を選択します。
MessageBox ダイレクト バインド ポートの使用方法の例については、SDK のサンプル「オーケストレーション内の MessageBox データベースへの直接バインド」 https://go.microsoft.com/fwlink/?LinkId=73703を参照してください。
参照
ダイレクト バインド ポート Self-Correlating 使用する方法 パートナー オーケストレーションダイレクト バインド ポートを使用する方法