現在、着信メッセージを分割する必要がある BizTalk の実装に取り組んでいます。これまでのところ、着信メッセージの子ノードごとに 1 つのメッセージを作成するエンベロープ スキーマを使用する例を見つけることができました。
しかし、私が受け取ったメッセージでは、それだけでは十分ではありません。同じ識別子を持つすべての子レコードが 1 つのメッセージになるように、メッセージを分割する必要があります。
簡単に言うと、受信メッセージは次のようになります。
<Root>
<Child>
<ID>1</ID>
</Child>
<Child>
<ID>1</ID>
</Child>
<Child>
<ID>2</ID>
</Child>
<Child>
<ID>2</ID>
</Child>
</Root>
ただし、明らかに単なる ID よりも多くのデータが含まれています。私が望むのは、これを同じ構造に分割することですが、ID ごとに 1 つのメッセージを生成するため、結果は次のようになります。
メッセージ 1
<Root>
<Child>
<ID>1</ID>
</Child>
<Child>
<ID>1</ID>
</Child>
</Root>
メッセージ 2
<Root>
<Child>
<ID>2</ID>
</Child>
<Child>
<ID>2</ID>
</Child>
</Root>
これに加えて、ID が段階的に続くかどうかはわかりませんが、メッセージ全体でスクランブルされる可能性があります。また、ID の最小または最大オカレンスもありません。1人かもしれないし、50人かもしれない。
したがって、私の質問は次のとおりです。これを可能な限り最善の方法で解決するにはどうすればよいですか? このような「高度な」デバッチ手順にエンベロープを使用できますか?カスタム パイプライン コンポーネントを作成する必要がありますか?それとも他に秘密がありますか? ;)
前もって感謝します!