Diff for Exception handling

14. December 2007 - 16:22 by carolgeyer28. November 2008 - 15:17 by bkind
Changes to Body
Line 1Line 1
 
<p>
 
<p>
-
To cope with exceptional
+
To cope with exceptional situations, e.g. calling a Web service that is currently unavailable, BPEL offers the concept of fault handlers. A fault handler can be attached to a <span class="BPELKeywordsCharChar">scope</span>, a <span class="BPELKeywordsCharChar">process</span>, or even directly as a shorthand notation on an <span class="BPELKeywordsCharChar">invoke</span> activity.
-
situations, e.g. calling a Web service that is currently unavailable, BPEL offers the concept of fault handlers. A fault
+
-
handler can be attached to a <span class="BPELKeywordsCharChar">scope</span>, a <span class="BPELKeywordsCharChar">process</span>, or even directly as a shorthand notation on an <span class="BPELKeywordsCharChar">invoke</span> activity.
+
 
</p>
 
</p>
 
<p class="MsoNormal">
 
<p class="MsoNormal">
-
A fault handler gets installed as soon as the scope it is
+
A fault handler gets installed as soon as the scope it is associated to gets started. As an example, the process level fault handler gets installed when the process starts. If the process completes normally, the installed fault handler then gets discarded, but if a fault situation occurs, that fault gets propagated to the fault handler.
-
associated to gets started. As an example, the process level fault handler
+
-
gets installed when the process starts. If the process completes normally, the
+
-
installed fault handler then gets discarded, but if a fault situation occurs,
+
-
that fault gets propagated to the fault handler.
+
 
</p>
 
</p>
 
<p class="MsoNormal">
 
<p class="MsoNormal">
-
A fault handler can have
+
A fault handler can have two types of children: One or more <span class="BPELKeywordsCharChar">catch</span> constructs, and at most one <span class="BPELKeywordsCharChar">catchAll</span>. Each <span class="BPELKeywordsCharChar">catch</span> construct then has to provide an activity that performs exception handling for a specific type of error condition.
-
two types of children: One or more <span class="BPELKeywordsCharChar">catch</span>
+
-
constructs, and at most one <span class="BPELKeywordsCharChar">catchAll</span>.
+
-
Each <span class="BPELKeywordsCharChar">catch</span> construct then has to
+
-
provide an activity that performs
+
-
exception handling for a specific type of error condition.
+
 
</p>
 
</p>
 
<p class="MsoNormal">
 
<p class="MsoNormal">
-
A <span class="BPELKeywordsCharChar">catch</span> construct
+
A <span class="BPELKeywordsCharChar">catch</span> construct has optional additional attributes: a <span class="BPELKeywordsCharChar">faultName</span> that refers to the name of the fault that should get caught, and a <span class="BPELKeywordsCharChar">faultVariable</span> attribute. When <span class="BPELKeywordsChar1">faultVariable</span> attribute is used, either <span class="BPELKeywordsChar1">faultMessageType</span> or <span class="BPELKeywordsChar1">faultElement</span> attribute must be specified. The <span class="BPELKeywordsCharChar">faultVariable</span> would point to a variable locally declared within the <span class="BPELKeywordsCharChar">catch</span> construct based on the <span class="BPELKeywordsChar1">faultMessageType</span> or <span class="BPELKeywordsChar1">faultElement</span> attribute.
-
has optional additional attributes: a <span class="BPELKeywordsCharChar">faultName</span>
+
-
that refers to the name of the fault that should get caught, and a <span class="BPELKeywordsCharChar">faultVariable</span> attribute. When <span class="BPELKeywordsChar1">faultVariable</span> attribute is used, either <span class="BPELKeywordsChar1">faultMessageType</span> or <span class="BPELKeywordsChar1">faultElement</span> attribute must be specified. The <span class="BPELKeywordsCharChar">faultVariable</span> would point to a variable
+
-
locally declared within the <span class="BPELKeywordsCharChar">catch</span>
+
-
construct based on the <span class="BPELKeywordsChar1">faultMessageType</span> or
+
-
<span class="BPELKeywordsChar1">faultElement</span> attribute.
+
 
</p>
 
</p>
 
<p>
 
<p>
-
Optionally, the fault hander can end with a <span class="BPELKeywordsCharChar">catchAll</span> construct. The intention is to
+
Optionally, the fault hander can end with a <span class="BPELKeywordsCharChar">catchAll</span> construct. The intention is to provide a means for default fault handling.
-
provide a means for default fault handling.
+
 
</p>
 
</p>
 
<p>
 
<p>
-
&nbsp;
+
 There are now companies with  &lt;a href=&quot;<a href="http://www.karmaticit.com/">www.karmaticIT.com</a>&quot; title=&quot;Learn BPEL&quot; alt=&quot;SOA BPEL&quot;&gt;Prepackaged BPEL Error Handling&lt;/a&gt; <a href="http://www.karmaticit.com/">www.karmaticIT.com</a>
  +
</p>
  +
<p>
  +
&#160;
 
</p>
 
</p>
 
<h3>See also:</h3>
 
<h3>See also:</h3>
Line 39Line 25
 
</p>
 
</p>
 
<p>
 
<p>
-
&nbsp;
+
&#160;
 
</p>
 
</p>
 
<p class="MsoNormal">
 
<p class="MsoNormal">
-
&nbsp;
+
&#160;
 
</p>
 
</p>
 
 
Revision of 28. November 2008 - 15:17:

Exception handling

To cope with exceptional situations, e.g. calling a Web service that is currently unavailable, BPEL offers the concept of fault handlers. A fault handler can be attached to a scope, a process, or even directly as a shorthand notation on an invoke activity.

A fault handler gets installed as soon as the scope it is associated to gets started. As an example, the process level fault handler gets installed when the process starts. If the process completes normally, the installed fault handler then gets discarded, but if a fault situation occurs, that fault gets propagated to the fault handler.

A fault handler can have two types of children: One or more catch constructs, and at most one catchAll. Each catch construct then has to provide an activity that performs exception handling for a specific type of error condition.

A catch construct has optional additional attributes: a faultName that refers to the name of the fault that should get caught, and a faultVariable attribute. When faultVariable attribute is used, either faultMessageType or faultElement attribute must be specified. The faultVariable would point to a variable locally declared within the catch construct based on the faultMessageType or faultElement attribute.

Optionally, the fault hander can end with a catchAll construct. The intention is to provide a means for default fault handling.

 There are now companies with  <a href="www.karmaticIT.com" title="Learn BPEL" alt="SOA BPEL">Prepackaged BPEL Error Handling</a> www.karmaticIT.com

 

See also:

- WS-BPEL 2.0 Primer: Exception handling

 

 

XML.org Focus Areas: BPEL | DITA | ebXML | IDtrust | OpenDocument | SAML | UBL | UDDI
OASIS sites: OASIS | Cover Pages | XML.org | AMQP | CGM Open | eGov | Emergency | IDtrust | LegalXML | Open CSA | OSLC | WS-I