BizTalk 2006 : Managing Exceptions in Orchestrations (part 3) - Running the EAIProcess

8/7/2012 4:06:54 PM

Running the EAIProcess

The EAIProcess orchestration can be started by binding the logical RequestPort port to a physical port configured to receive files from a folder. Once the project is built and deployed, ensure that there is a subscriber (send port) built for the Fault message and that it is enlisted and stopped; otherwise a persistence exception will be reported. Post a sample file into the folder being monitored, execute the orchestration, and generate the exception, thereby publishing the Fault message. You can inspect the properties of the generated Fault message using the BizTalk Server 2006 Administration Console as displayed in Figure 6.

Figure 6. Message Details dialog box displaying properties of the suspended Fault message

Each message added to the Fault message in the exception handler gets persisted as dynamic message parts to the original Fault message. The Message Details dialog box illustrates some of the niceties resulting from the use of the Failed Orchestration Routing API. First, the message published from the exception handler is still defined as the Fault message derived from your FaultMessage.xsd schema as shown by the message type context property. However, notice two additional message parts listed in the left-hand pane. In the EAIProcess orchestration, the FaultMsg message variable was set to a multipart message type of one part, body. The API dynamically adds the individual messages as message parts to the current Fault message.

If you examine the context properties of the Fault message (as shown in Figure 7), you can see all of the fault properties you set in the Message Assignment shape, as well as some that the API sets for you (i.e., ServiceName and ServiceInstanceID).

Figure 7. Message Details dialog box displaying the promoted properties of the suspended Fault message. These properties were set in the exception handler as well as within the API.

Figures 8, 9, and 10 show the Message Details dialog box displaying the content of the original ApprovedRequest and DeniedRequest messages.

Figure 8. Message Details dialog box displaying the content of the original Fault message published from the EAIProcess exception handler

Figure 9 . Message Details dialog box displaying the contents of the ApprovedRequest message that was added to the Fault message

Figure 10 . Message Details dialog box displaying the contents of the DeniedRequest message that was added to the Fault message
  •  D-Link DHP-1565 Wireless N Powerline Router
  •  Application Patterns and Tips : Localize a Windows Forms Application, Localize an ASP.NET Application
  •  Application Patterns and Tips : Use Model-View-ViewModel in WPF
  •  Liquid-Metal
  •  Vigor 2850n
  •  Visual Studio 2010 : Introducing the Visual Studio Extensibility - Extending the Code Editor
  •  Visual Studio 2010 : Managing Extensions with the Extension Manager, Managing Add-Ins with the Add-In Manager
  •  Intel Xeon Phi: Coprocessor speeding at 1 teraflops in a PCIe Card
  •  Visual Studio Team System 2008 : Working with Test Results (part 2) - Build report and test result
  •  Visual Studio Team System 2008 : Working with Test Results (part 1) - Test as part of Team Foundation Server build
  •  Finance - Apple Versus Google
  •  Oracle Coherence 3.5 : Testing and debugging Coherence applications
  •  Oracle Coherence 3.5 : Accessing the data grid (part 6) - Using the Coherence API - Implementing CoherenceTarget, Testing the Cache loader
  •  Oracle Coherence 3.5 : Accessing the data grid (part 5) - Using the Coherence API - Loader design, Implementing CsvSource
  •  Oracle Coherence 3.5 : Accessing the data grid (part 4) - Using the Coherence API - The basics: NamedCache and CacheFactory
  •  Oracle Coherence 3.5 : Accessing the data grid (part 3) - Configuring Coherence
  •  Oracle Coherence 3.5 : Accessing the data grid (part 2) - Configuring the development environment
  •  Oracle Coherence 3.5 : Accessing the data grid (part 1) - Coherence console
  •  Oracle Coherence 3.5 : Installing Coherence, Starting up the Coherence cluster
  •  The Go-To Reference Design Map For The Cloud?
    Top 10
    Nikon 1 J2 With Stylish Design And Dependable Image And Video Quality
    Canon Powershot D20 - Super-Durable Waterproof Camera
    Fujifilm Finepix F800EXR – Another Excellent EXR
    Sony NEX-6 – The Best Compact Camera
    Teufel Cubycon 2 – An Excellent All-In-One For Films
    Dell S2740L - A Beautifully Crafted 27-inch IPS Monitor
    Philips 55PFL6007T With Fantastic Picture Quality
    Philips Gioco 278G4 – An Excellent 27-inch Screen
    Sony VPL-HW50ES – Sony’s Best Home Cinema Projector
    Windows Vista : Installing and Running Applications - Launching Applications
    Most View
    Bamboo Splash - Powerful Specs And Friendly Interface
    Powered By Windows (Part 2) - Toshiba Satellite U840 Series, Philips E248C3 MODA Lightframe Monitor & HP Envy Spectre 14
    MSI X79A-GD65 8D - Power without the Cost
    Canon EOS M With Wonderful Touchscreen Interface (Part 1)
    Windows Server 2003 : Building an Active Directory Structure (part 1) - The First Domain
    Personalize Your iPhone Case
    Speed ​​up browsing with a faster DNS
    Using and Configuring Public Folder Sharing
    Extending the Real-Time Communications Functionality of Exchange Server 2007 : Installing OCS 2007 (part 1)
    Google, privacy & you (Part 1)
    iPhone Application Development : Making Multivalue Choices with Pickers - Understanding Pickers
    Microsoft Surface With Windows RT - Truly A Unique Tablet
    Network Configuration & Troubleshooting (Part 1)
    Panasonic Lumix GH3 – The Fastest Touchscreen-Camera (Part 2)
    Programming Microsoft SQL Server 2005 : FOR XML Commands (part 3) - OPENXML Enhancements in SQL Server 2005
    Exchange Server 2010 : Track Exchange Performance (part 2) - Test the Performance Limitations in a Lab
    Extra Network Hardware Round-Up (Part 2) - NAS Drives, Media Center Extenders & Games Consoles
    Windows Server 2003 : Planning a Host Name Resolution Strategy - Understanding Name Resolution Requirements
    Google’s Data Liberation Front (Part 2)
    Datacolor SpyderLensCal (Part 1)