0 Replies Latest reply: Sep 3, 2012 1:23 AM by Shankari RSS

    Fault policy execution with faultName

    Shankari
      Hi,

      I have one clarification with fault policy.Can any one help with this.

      Below is the fault policy.How does the priority of execution of fault policy happens.

      I have three faultName defined,one is remote fault,one is with particular namespace and other one without namespace.

      I execute one scenario where i get the fault with partner link and fault appers with namespace then the execution should go this faultName <faultName xmlns:WL5G3N3="http://vodafone.com.au/cm/ocv/svc/CustomerOrder/V2.1"
      name="WL5G3N3:fault">
      But the execution of fault policy is getting executed with the below one

      <faultName>
      <condition>
      <action ref="ora-human-intervention"/>
      </condition>
      </faultName>

      Can any one help with how the fault policy gets executed.
      <?xml version="1.0" encoding="UTF-8"?>
      <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
      <faultPolicy version="3.0" id="Reference_RETRY_FaultPolicy"
      xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns="http://schemas.oracle.com/bpel/faultpolicy"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:com="http://vodafone.com.au/ebo/vha/CommonComponents/V2.1"
      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      <!-- This section describes fault conditions. Build more conditions with faultName, test and action -->
      <Conditions>
      <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
      name="bpelx:remoteFault">
      <condition>
      <action ref="ora-retry"/>
      </condition>
      </faultName>
      <!-- Exception raised by partnerlink xmlns:com="http://vodafone.com.au/ebo/vha/CommonComponents" -->
      <faultName xmlns:WL5G3N3="http://vodafone.com.au/cm/ocv/svc/CustomerOrder/V2.1"
      name="WL5G3N3:fault">
      <condition>
      <test>$fault.payload/com:Fault/com:FaultNotification/com:FaultMessage/com:Code[contains(.,"CORE_BUS_VAL")]</test>
      <action ref="ora-rethrow"/>
      </condition>
      </faultName>
      <faultName>
      <condition>
      <action ref="ora-human-intervention"/>
      </condition>
      </faultName>
      </Conditions>
      <Actions>
      <!-- This action will attempt 5 retries at increasing intervals of 1,2,3,4,5 minutes -->
      <Action id="ora-retry">
      <retry>
      <retryCount>5</retryCount>
      <retryInterval>60</retryInterval>
      <!--<exponentialBackoff/>-->
      <retryFailureAction ref="ora-human-intervention"/>
      <!--<retrySuccessAction ref="ora-human-intervention"/>-->
      </retry>
      </Action>
      <!-- This is an action will cause a replay scope fault-->
      <Action id="ora-replay-scope">
      <replayScope/>
      </Action>
      <!-- This is an action will bubble up the fault-->
      <Action id="ora-rethrow-fault">
      <rethrowFault/>
      </Action>
      <!-- This is an action will mark the work item to be "pending recovery from console"-->
      <Action id="ora-human-intervention">
      <humanIntervention/>
      </Action>
      <!-- This action will cause the instance to terminate-->
      <Action id="ora-terminate">
      <abort/>
      </Action>
      </Actions>
      </faultPolicy>
      </faultPolicies>

      Fault binding
      ---------------------

      <?xml version="1.0" encoding="UTF-8"?>
      <faultPolicyBindings version="3.0"
      xmlns="http://schemas.oracle.com/bpel/faultpolicy"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <composite faultPolicy="TEST_RETRY_FaultPolicy"/>
      </faultPolicyBindings>

      Thanks,
      Shankari