0

データベーステーブルをポーリングし、未処理のレコードを取得し、マップを使用して変換を実行し、サードパーティのサービスを呼び出すBizTalk2010ソリューションがあります。幸せな道が機能しています。

ワークフローは次のとおりです。

  1. GetUnprocessedCustomersストアドプロシージャから場所/ポートを受信する:未処理の顧客を返すストアドプロシージャを呼び出して、WCF-SQLアダプターを使用してSQL Server 2008をポーリングします(WHERE IsProcessed = 0)
  2. SendPortからサードパーティのWebサービス:ReceivePortName ==にフィルター処理され、アウトバウンドマップを使用して、上記のストアドプロシージャから返されたメッセージをサービススキーマに変換します
  3. SendPort to UpdateIsProcessedストアドプロシージャ:MessageType ==にフィルタリングされ、アウトバウンドマップを使用して、サービス応答をIsProcessed=1を更新するストアドプロシージャ呼び出しに変換します。

次の可能性のある例外をキャッチし、例外情報を含むメッセージを作成して、内部例外処理サービスを呼び出したいと思います。

  1. データベースまたはストアドプロシージャにアクセスできません。
  2. サードパーティのサービスにはアクセスできません。

失敗したメッセージのルーティングを有効にすることで、上記の2番目を処理できました。Greg.Forsytheに感謝します。

私の質問は、すべての例外をキャプチャし、例外情報(例外日時、メッセージ、スタックトレースなど)を内部サービスに送信する汎用ソリューションを作成するにはどうすればよいですか?

4

1 に答える 1

1

BizTalkGeneralForumで回答を得ることができました。簡単な答えは「すべての例外をキャッチする方法はありません」です。いくつかのオプションについては、リンクをクリックしてください。

于 2011-02-23T18:46:30.060 に答える