Biztalk 2006 には、各ファイルがマップされる前にファイルを多数のファイルに分割するカスタム パイプラインがあります。送信パイプラインでは、「書き込みに一時ファイルを使用」を使用します。私の質問は次のとおりです。メッセージを分割して「書き込みに一時ファイルを使用」を使用する場合、分割されたファイルのすべてが同時に一時フォルダーから出力フォルダーに移動されますか、それとも分割されたファイルのそれぞれが出力に移動されますか他のファイルを待たずに、完了したらすぐにフォルダーに移動しますか? ファイルは非常に小さいので、私は知りませんでした。標準的な動作を知りたいだけなので、大きなファイルを作成して結果を見るのに多くの時間を費やす必要はありません。手伝ってくれてありがとう :)
2 に答える
これは、BizTalk のいくつかの機能を利用して行うことができます。最初の機能は、エンベロープ スキーマを使用したバッチ処理とバッチ処理解除に関するものです。これらは、XML ドキュメントを多数の小さなドキュメントに分割するために使用される手法です (つまり、500 の注文書を含む XML ドキュメントを、それぞれが 1 つの注文書を含む 500 の XML ドキュメントに分割する)。そして、同様に送信時にそれらを再度組み立てます。これを達成する方法に関する記事は次のとおりです。 http://msdn.microsoft.com/ja-jp/library/aa578216.aspx
実行内容にもよりますが、XPath 式を使用して、オーケストレーション内のメッセージをデバッチし、オーケストレーション内の個々のメッセージを処理できます。その後、オーケストレーションは、送信メッセージを 1 つのインスタンスに再構築できます。
あなたがやろうとしていることについてもう少し教えてください。
あなたの説明から、私はあなたのシナリオを完全に理解しているとは100%確信していません
受信パイプラインの逆アセンブラを介してファイルを分割していると仮定します。「書き込みに一時ファイルを使用する」への参照は、ファイル送信アダプタの設定を指し、この送信ポートは受信ポートからのメッセージをサブスクライブします。
このシナリオでは、各出力メッセージ(元の受信メッセージのフラグメント)は個別に処理され、メッセージボックス(送信側)の後で確実にできるだけ早く配信されます。
逆アセンブラにRecoverableInterchangeProcessing設定があり、それをTrueに設定している場合、メッセージは完全に独立して処理されます。この設定がfalseの場合、それらはすべて一緒にメッセージボックスにコミットされますが、BizTalkはそれらを任意の順序で取得する可能性があります。