Let's think about an orchestration. The main activities takes place within a scope shape with 2 associated Catch Exception shapes: 1 for System.Exception and 1 General Exception. This orchestration makes use of a "helper" C# class library and the BizTalk scope/catch catches exceptions that are thrown within the library, as well as unhandled exceptions that occur within them.
The issue that I'm wondering about that I'm able to create is this: Say a version of the helper library gets published and suddenly there is a method missing that was previously there and the orchestration tries to call it. Inevitably a MissingMethodException
is thrown, which seems to happen as soon as the Scope shape is reached.
The MissingMethodException
is not caught by the orchestration and therefore the message is suspended. I realize that with proper testing this should never happen, but I'm just trying to cover all the bases should they happen (and really just out of curiosity).
Is there a way to catch these exceptions, or since it seems to happen at a level before the scope is called?