The ESB Failed Orchestration Exception Routing Mechanism
The ESB Failed Orchestration Exception Routing mechanism provides the following features:
Creating fault messages that capture ambient properties. The CreateFaultMessage method generates a fault message that contains the orchestration service name and service instance ID, the currently activated orchestration shape, the name of the application to which the orchestration is deployed, the name of the server processing the orchestration, and the exception date and time (UTC format). It also implicitly adds the current System.Exception object generated in the exception handler of the current orchestration shape.
Adding existing orchestration messages to a fault message. The AddMessage method preserves the XLANG setting of the orchestration message and all the message context properties in the fault message.
Explicitly adding an existing Exception object to a fault message. The SetFaultMsgException method serializes the object as a System.Exception and preserves it in the fault message.
Retrieving an enumerated collection of type-less messages from a fault message received by a subscriber. The GetMessages method retrieves all persisted messages from the failed orchestration as XLANG messages. It returns all the original context properties of each persisted message in each XLANG message.
Retrieving a strongly typed XLANG orchestration message from a fault message received by a subscriber. The GetMessage method retrieves a persisted message of a specific type from the fault message as an XLANG message. It returns all the original context properties of the persisted message in the XLANG message. It also supports retrieval of the System.Exception object generated by the failed orchestration and retrieves a persisted System.Exception object from the fault message.