0

直接バインディングを介して xml を受け取るオーケストレーションがあります。

オーケストレーションでは、次のタスクを実行する必要があります。

  • 1 つのストアド プロシージャを呼び出して、バッチ ID (name IN、batchID OUT、errorCode OUT) を作成します。
  • xml 内のレコード (0..n 無制限) に一致するテーブルで複数の挿入を実行します。各レコードは 1 つのテーブル行の挿入です。マップを使用して、XML 要素をテーブル内の列に一致させます。
  • 1 つのストアド プロシージャを呼び出してバッチを終了します (batchID IN、recordCount IN、errorCode OUT)

DB 呼び出しは、Biztalk 2010 の WCF-SQL アダプターで行う必要があります。

私の質問:

  • 最初の SP のバッチ ID をマッパーに渡すにはどうすればよいですか (各レコードは batchID 列で始まります)。
  • 1 つの XML 内の挿入は、1 つのトランザクションと見なす必要があります。挿入が失敗すると、レコードをロールバックする必要があります。これはどのように達成されますか?
4

1 に答える 1

0

最初の質問に答えるには、複数入力スキーマ マップをマップし、Create Batch ストアド プロシージャ呼び出しからの応答メッセージを入力スキーマの 1 つとして使用します。これを行うには、この質問に対する私の回答を参照してください。複数の入力スキーマを使用した BizTalk マップの作成

2 番目の質問については、WCF-SQL アダプターを使用してテーブル操作でこれを行う場合useAmbientTransaction、1 つのトランザクションで複数の呼び出しをラップする sqlBinding 構成でプロパティを true に設定できます。

于 2011-10-26T12:44:09.407 に答える