I have a BizTalk 2010 solution that polls a database table, retrieves unprocessed records, does a transform with a map and call a 3rd party service. The happy path is working.

Here is the workflow:

  1. Receive Location/Port from GetUnprocessedCustomers stored procedure: Poll SQL Server 2008 with WCF-SQL adapter by calling stored proc that returns unprocessed customers (WHERE IsProcessed = 0)
  2. SendPort to 3rd Party web service: Filtered to ReceivePortName == with an outbound map to convert message returned from the above mentioned stored proc to service schema
  3. SendPort to UpdateIsProcessed stored proc: Filtered to MessageType == with an outbound map to convert service response to stored procedure call that will update IsProcessed = 1.

I would like to catch the following possible exceptions, create a message with exception info and call an internal exception handling service.

  1. Database or stored procedure is not accessible.
  2. 3rd party service is not accessible.

I was able to handle number 2 above by enabling Failed Message routing. Thanks to Greg.Forsythe.

My question is: How can I create a generic solution that will capture all exceptions and send exception info (such as exception datetime, message, stack trace etc.) to an internal service?

有帮助吗?

解决方案

I was able to get an answer on the BizTalk General Forum. The short answer is "There is no way to catch all exceptions". Hit the link for some options.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top