<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Arbiter</title><link>http://blogs.msdn.com/nzaheer/default.aspx</link><description>Occasional rants about tools and technologies such as Microsoft .NET, Managed Services Engine, SOA, BizTalk, Database and fun items such as Games (of course 'Halo')</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Managed Services Engine (MSE) CTP now Available on codeplex</title><link>http://blogs.msdn.com/nzaheer/archive/2007/10/30/managed-services-engine-ctp-now-available-on-codeplex.aspx</link><pubDate>Wed, 31 Oct 2007 00:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5786736</guid><dc:creator>nzaheer</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/nzaheer/comments/5786736.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nzaheer/commentrss.aspx?PostID=5786736</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;About the Managed Services Engine&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The Managed Services Engine (MSE) is one approach to facilitating Enterprise SOA through service virtualization. Built upon the Windows Communication Foundation (WCF) and the Microsoft Server Platform, the MSE helps enterprises in not only jumpstarting their move to a Service Oriented model but also providing support to successfully manage the resulting massively distributed system. The MSE focuses on the “Service” and not just the “Message” or any other sub component. It fully supports service virtualization, which helps organizations deploy services faster, coordinate change management, and maximize the reuse of various service elements. In doing so, it provides the ability to support versioning, abstraction, management, routing, and runtime policy enforcement for Services.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;About Managed Services Engine CTP Release&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;The 6.2 CTP Release is the first of many releases of the &lt;A class="" title="MSE CTP Release" href="http://www.codeplex.com/servicesengine" mce_href="http://www.codeplex.com/servicesengine"&gt;MSE on CodePlex&lt;/A&gt;. The intent of this version is to solicit feedback on the architecture, the components, their application, and the documentation. &lt;/P&gt;
&lt;P mce_keep="true"&gt;I have the pleasure of working with MSE since its inception and I hope to blog about its features&amp;nbsp;regularly in the future. &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5786736" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nzaheer/archive/tags/Managed+Services+Engine/default.aspx">Managed Services Engine</category><category domain="http://blogs.msdn.com/nzaheer/archive/tags/SOA/default.aspx">SOA</category><category domain="http://blogs.msdn.com/nzaheer/archive/tags/MSE/default.aspx">MSE</category><category domain="http://blogs.msdn.com/nzaheer/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/nzaheer/archive/tags/service+virtualization/default.aspx">service virtualization</category></item><item><title>Fault Handling in Windows Workflow Foundation</title><link>http://blogs.msdn.com/nzaheer/archive/2007/05/29/fault-handling-in-windows-workflow-foundation.aspx</link><pubDate>Tue, 29 May 2007 21:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2973088</guid><dc:creator>nzaheer</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/nzaheer/comments/2973088.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nzaheer/commentrss.aspx?PostID=2973088</wfw:commentRss><description>&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Fault Handling in Windows Workflow Foundation&lt;/FONT&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;The purpose of this short write-up is to describe a few ways on how to handle faults or in general exceptions, in Windows Workflow Foundation (WF). I will be using the terms fault and exception interchangeably. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Possible Sources of Faults &lt;/FONT&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;There are a number of ways a fault or an exception can occur in a Workflow. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Activity Failure –While processing a workflow, an Activity’s execution may fail and give rise to an exception&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Code Failure – While processing a workflow, code parts for that workflow may also encounter an exceptional condition and a fault may occur&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Throw Activity – An exception can be deliberately thrown by using a Throw Activity&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Code Activity – An exception can also be thrown from a Code Activity using “throw “ statement&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Consequences of not Handling Faults&lt;/FONT&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;If an exception occurs in a workflow and is not handled, the workflow execution is terminated and a “&lt;I style="mso-bidi-font-style: normal"&gt;WorkflowTerminated&lt;/I&gt;” event is raised by the Workflow runtime. Although you have an option of checking for the exception in this “&lt;I style="mso-bidi-font-style: normal"&gt;WorkflowTerminated&lt;/I&gt;” event handler, but a better option is to do exception or fault handling as a part of the workflow itself. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;FaultHandlers and FaultHandler Activity &lt;/FONT&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;When you open a workflow in the workflow designer, you can see the three tabs at the bottom. One of those tabs is called “View Fault Handlers”. Once clicked, it will take to you to the &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandlers&lt;/B&gt; portion of the workflow. You can add different &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; activities which handles a specific Fault or Exception to this &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandlers&lt;/B&gt; activity. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;You can add a &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; activity to &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandlers&lt;/B&gt; activity by dragging the &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; activity from the toolbox and dropping it on the &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandlers&lt;/B&gt; activity surface. But as soon as you do that, you will have to set the “&lt;B style="mso-bidi-font-weight: normal"&gt;FaultType&lt;/B&gt;” property of the &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; activity to a type derivative of Exception type. You can have as many &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; activities as you want inside a single &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandlers&lt;/B&gt; activity (So far, I am not aware of any limit on the number).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;In the case you have multiple &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; activities; you cannot have more than one &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; with the same &lt;B style="mso-bidi-font-weight: normal"&gt;FaultType&lt;/B&gt;. So if you already have a &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; with &lt;B style="mso-bidi-font-weight: normal"&gt;FaultType&lt;/B&gt;= InvalidOperationException, then you cannot have another one with &lt;B style="mso-bidi-font-weight: normal"&gt;FaultType&lt;/B&gt;= InvalidOperationException. You may see an error popup like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;SequentialWorkflowActivity can have only one FaultHandlerActivity activity for System. InvalidOperationException.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;If you have such as situation then you will not even be able to compile the workflow. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Also, in the case of multiple &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; activities, you will have to arrange those in the order from most specific to most generic &lt;B style="mso-bidi-font-weight: normal"&gt;FaultType&lt;/B&gt; with most specific one being to left and the most generic ones to the right. If you do not do that, then the design will detect it as an error. So the following scenario will not compile: Two &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; activities with the one of the left with &lt;B style="mso-bidi-font-weight: normal"&gt;FaultType&lt;/B&gt;=Exception and with the one on the right with &lt;B style="mso-bidi-font-weight: normal"&gt;FaultType&lt;/B&gt;=ApplicationException. You may see an error popup saying:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;A FaultHandlerActivity for exception type 'ApplicationException' must be added before the handler for exception type 'Exception' &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;You will have to reverse their position to fix the problem. The workflow will not compile unless you fix the order. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 24pt 0in 0pt"&gt;&lt;FONT face=Cambria color=#365f91 size=5&gt;Fault Handling Guidelines &lt;/FONT&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Here are some of the guidelines that we have come up based upon the Workflow capabilities for handling faults for workflows &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;1.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Use try/catch blocks throughput the workflow code to avoid any unforeseen code exceptions&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;2.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;If necessary, create your workflow specific Exception types and &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; activities to throw and catch those exceptions during the course of the workflow. This will help you in indentifying user exception from system exceptions. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;3.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;So for example, you have a Policy activity in your workflow and you are suing that Policy activity to apply business rules to a certain set of data. And if that set of data fails these business rules then you want to abort the workflow and set a specific error to the data being sent back to the caller of the workflow. To do that efficiently, you need to do a few things:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo2; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;a.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Create a new type derived from Exception &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo2; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;b.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Add a new &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; with &lt;B style="mso-bidi-font-weight: normal"&gt;FaultType&lt;/B&gt;=newly created type&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo2; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;c.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Throw this newly created exception type wither using a Throw activity or a Code activity&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo2; mso-add-space: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;d.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Add a Code activity under the &lt;B style="mso-bidi-font-weight: normal"&gt;FaultHandler&lt;/B&gt; and use that to set specific error message &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Please see the attached sample for reference.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2973088" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/nzaheer/attachment/2973088.ashx" length="32041" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/nzaheer/archive/tags/WF/default.aspx">WF</category><category domain="http://blogs.msdn.com/nzaheer/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.msdn.com/nzaheer/archive/tags/FaultHandlers/default.aspx">FaultHandlers</category><category domain="http://blogs.msdn.com/nzaheer/archive/tags/FaultHandler/default.aspx">FaultHandler</category></item></channel></rss>