{"id":3493,"date":"2011-09-27T12:36:07","date_gmt":"2011-09-27T17:36:07","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=3493"},"modified":"2012-07-05T10:50:28","modified_gmt":"2012-07-05T15:50:28","slug":"soa-11g-bpel-standard-faults","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=3493","title":{"rendered":"SOA 11g: BPEL Standard Faults"},"content":{"rendered":"<span id=\"BPEL_Fault_Categories\"><h2>BPEL Fault Categories<\/h2><\/span>\n<span id=\"Business_Faults\"><h3>Business Faults<\/h3><\/span>\n<p>* Application specific faults.<br \/>\n* Thrown or rethrown by application.<br \/>\n* Specified in WSDL.<br \/>\n* Can be caught with:<\/p>\n<pre lang=\"xml\">\r\n<catch faultName=\"ns1:faultName\" faultVariable=\"varName\">\r\n<\/pre>\n<span id=\"Runtime_Faults\"><h3>Runtime Faults<\/h3><\/span>\n<p>* System errors (thrown by system).<br \/>\n* messageType:<\/p>\n<pre lang=\"xml\">\r\n<?xml version=\"1.0\" encoding=\"UTF-8\" ?> \r\n<definitions name=\"RuntimeFault\"\r\n  targetNamespace=\"http:\/\/schemas.oracle.com\/bpel\/extension\"\r\n  xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\"\r\n  xmlns=\"http:\/\/schemas.xmlsoap.org\/wsdl\/\">\r\n\r\n  <message name=\"RuntimeFaultMessage\">\r\n   <part name=\"code\" type=\"xsd:string\" \/> \r\n   <part name=\"summary\" type=\"xsd:string\" \/> \r\n   <part name=\"detail\" type=\"xsd:string\" \/> \r\n  <\/message>\r\n\r\n<\/definitions>\r\n<\/pre>\n<p>* Examples:<br \/>\n&#8211; bindingFault: thrown inside an activity if the preparation of the invocation fails. For example, the WSDL of the process fails to load. A bindingFault is not retryable. This type of fault usually must be fixed by human intervention.<br \/>\n&#8211; remoteFault: thrown inside an activity because the invocation fails. For example, a SOAP fault is returned by the remote service.<br \/>\n&#8211; replayFault: A replayFault replays the activity inside a scope. At any point inside a scope, this fault is migrated up to the scope. The server then re-executes the scope from the beginning.<\/p>\n<span id=\"BPEL_Standard_Faults\"><h2>BPEL Standard Faults<\/h2><\/span>\n<span id=\"BPEL_1.1_Standard_Faults\"><h3>BPEL 1.1 Standard Faults<\/h3><\/span>\n<p>* Standard faults are defined as follows:<br \/>\n&#8211; Typeless, meaning they do not have associated messageTypes<br \/>\n&#8211; Not associated with any Web Services Description Language (WSDL) message<br \/>\n&#8211; Caught without a fault variable:<\/p>\n<pre lang=\"xml\">\r\n<catch faultName=\"bpws:selectionFailure\">\r\n<\/pre>\n<p>* Name space: <em>http:\/\/schemas.xmlsoap.org\/ws\/2003\/03\/business-process\/<\/em><br \/>\n* Standard faults:<br \/>\n&#8211; bindingFault (BPEL extension fault defined in http:\/\/schemas.oracle.com\/bpel\/extension)<br \/>\n&#8211; conflictingReceive<br \/>\n&#8211; conflictingRequest<br \/>\n&#8211; correlationViolation<br \/>\n&#8211; forcedTermination<br \/>\n&#8211; invalidReply<br \/>\n&#8211; joinFailure<br \/>\n&#8211; mismatchedAssignmentFailure<br \/>\n&#8211; remoteFault (BPEL extension fault defined in http:\/\/schemas.oracle.com\/bpel\/extension)<br \/>\n&#8211; repeatedCompensation<br \/>\n&#8211; selectionFailure<br \/>\n&#8211; uninitializedVariable<\/p>\n<span id=\"BPEL_2.0_Standard_Faults\"><h3>BPEL 2.0 Standard Faults<\/h3><\/span>\n<p>* See <a href=\"http:\/\/docs.oasis-open.org\/wsbpel\/2.0\/OS\/wsbpel-v2.0-OS.html#_Toc164738543\">spec appendix A<\/a>.<br \/>\n* Namespace is: <em>http:\/\/docs.oasis-open.org\/wsbpel\/2.0\/process\/executable<\/em><br \/>\n* Standard faults:<br \/>\n&#8211; ambiguousReceive<br \/>\n&#8211; completionConditionFailure<br \/>\n&#8211; conflictingReceive<br \/>\n&#8211; conflictingRequest<br \/>\n&#8211; correlationViolation<br \/>\n&#8211; invalidBranchCondition<br \/>\n&#8211; invalidExpressionValue<br \/>\n&#8211; invalidVariables<br \/>\n&#8211; joinFailure<br \/>\n&#8211; mismatchedAssignmentFailure<br \/>\n&#8211; missingReply<br \/>\n&#8211; missingRequest<br \/>\n&#8211; scopeInitializationFailure<br \/>\n&#8211; selectionFailure<br \/>\n&#8211; subLanguageExecutionFault<br \/>\n&#8211; uninitializedPartnerRole<br \/>\n&#8211; uninitializedVariable<br \/>\n&#8211; unsupportedReference<br \/>\n&#8211; xsltInvalidSource<br \/>\n&#8211; xsltStylesheetNotFound<\/p>\n<span id=\"Fault_Catch_Activity_Precedence\"><h2>Fault Catch Activity Precedence<\/h2><\/span>\n<p>* Catching precedence for faults <strong>without <\/strong>associated data:<br \/>\n-> Catch activity with matching faultName<br \/>\n-> catchAll activity<br \/>\n-> Default fault handler<br \/>\n* Catching precedence for faults <strong>with <\/strong>associated data:<br \/>\n-> Catch activity with a matching faultName:<br \/>\n&#8211;> has a defined faultVariable: faultVariable initialized to the fault part element value.<br \/>\n&#8211;> no faultVariable defined<br \/>\n-> Catch activity without faultName attribute<br \/>\n-> catchAll activity<br \/>\n-> Default fault handler<\/p>\n<span id=\"References\"><h2>References<\/h2><\/span>\n<p>* <a href=\"http:\/\/download.oracle.com\/docs\/cd\/E17904_01\/integration.1111\/e10224\/bp_faults.htm#insertedID0\">Using Fault Handling in a BPEL Process<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>BPEL Fault Categories Business Faults * Application specific faults. * Thrown or rethrown by application. * Specified in WSDL. * Can be caught with: Runtime Faults * System errors (thrown by system). * messageType: * Examples: &#8211; bindingFault: thrown inside &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=3493\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[100],"tags":[],"class_list":["post-3493","post","type-post","status-publish","format-standard","hentry","category-soa11g"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-Ul","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3493"}],"version-history":[{"count":4,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3493\/revisions"}],"predecessor-version":[{"id":4965,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3493\/revisions\/4965"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}