4 Replies Latest reply on Dec 18, 2012 9:05 AM by Ramabhadra Raju

    what is the "catchAll for all faults" equivalent in fault-policy.xml

    kiransaravi
      Hi

      This is regarding the catchAll equivalent tag in fault-policy.xml file

      fault-policy.xml has two sections - Conditions & Actions

      In Conditions, you'll define several <faultName name="XXX"> and corresponding <condition>, <test> & <action ref="">.

      But what I want is, how do you define a condition for all Fault types (something like a catchAll activity)?

      Lets say i need a single condition for all faults, so i want to say

      <conditions>
      <faultName name=*"ALL_FAULT_TYPES"*>
      <condition>
      <!--<test> -- i dont give any test condition here, so that it is applicable for all conditions for this fault type -->
      <action ref="ora-human-intervention">
      </condition>
      </faultName>
      </conditions>

      I've searched documentation, blogs but could not find any.
      Only thing i could find is, if we dont give any <test> tag, that means it is like a catchAll for that particular faultName. I need a similar one, but for all faults.
      Appreciate your response.

      Regards
      RaviKiran.

      Edited by: kiransaravi on Oct 16, 2012 12:39 AM

      Edited by: kiransaravi on Oct 16, 2012 12:40 AM
        • 1. Re: what is the "catchAll for all faults" equivalent in fault-policy.xml
          Ronald van Luttikhuizen
          Hi RaviKiran,

          Somewhat comparable is the following fault policy:

          <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
          <faultPolicy version="2.0.1" id="SpecifyFaultPolicyName">
          <Conditions>
          <faultName>
          <condition>
          ... specify action ...
          </condition>
          </faultName>
          </Conditions>
          ... remainder ...
          </faultPolicy>
          </faultPolicies>

          Basically, you don't define any specific conditions, meaning all faults that are caught by the fault policy framework fall into this condition.

          Mind: the fault-policy framework catches faults in invocations of (external) services from BPEL, Mediator, etc. Internal BPEL faults such as errored assign activities are not caught.

          Kind regards, Ronald
          • 2. Re: what is the "catchAll for all faults" equivalent in fault-policy.xml
            kiransaravi
            Thanks very much Ronald, I'll try it and mark the answer.

            Regards
            RaviKiran.
            • 3. Re: what is the "catchAll for all faults" equivalent in fault-policy.xml
              kiransaravi
              Hi
              May be helpful for others, the above answer is correct. A sample snippet for <Conditions> tag in fault-policies.xml

              <Conditions>
              <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
              name="bpelx:bindingFault">
              <condition>
              <action ref="ora-human-intervention"/>
              </condition>
              </faultName>

              <!-- This acts like CatchAll -->
              <faultName>
              <condition>
              <action ref="ora-human-intervention"/>
              </condition>
              </faultName>
              </Conditions>

              Regards
              RaviKiran.
              • 4. Re: what is the "catchAll for all faults" equivalent in fault-policy.xml
                Ramabhadra Raju
                Hi Ronald Van,

                what do you mean by this statement .
                Mind: the fault-policy framework catches faults in invocations of (external) services from BPEL, Mediator, etc. Internal BPEL faults such as errored assign activities are >not caught.
                Is it like faults generated while invoking only will go to faultpolicies ?

                I want to generate a email in case of faults to notify the customer. faultpolicies is working good for remote and binding fault and i am generating mail using java. but in case of selection failure it is not referring to fault policies. So Is generating a email from catchall block is the only solution for this or is there any other way.The problem with catch all block is that the instance state will be completed and my monitoring is affected. I want to generate a email and the process should be in running state . Is there any way?

                Please suggest .
                Thanks in Advance

                regards,
                Raju