rss
SOATUBE
Oracle
Custom Search SOABYTE here

Friday, June 25, 2010

Use of partner Link Level fault policy





















If an asynchronous process is invoking a synchronous process, and if the synchronous process goes to the human intervention then the asynchronous process will timeout. In this case the synchronous process can be resubmitted but the asynchronous would be timed out.
In order to overcome this issue, there should be a custom fault policy for the synchronous processes, which rethrows back the fault, and the CatchAll branch catches it and sends it to the invoking asynchronous process. This becomes a partnerlink error for the invoking process and goes to default fault policy. In this way resubmission can be done from the asynchronous process.
Illustration:
In the synchronous process’ bpel.xml, define fault policy binding:
<faultPolicyBindings>
                <process faultPolicy=”customFaultPolicy”/>
</faultPolicyBindings>
In the SOA_ORACLE_HOME\bpel\domains\domain_name\config\fault-policies\ create customFaultPolicy.xml file, and define the fault policy:
<Conditions>
                <faultName>
                                <condition>
                                                <action ref=”ora-rethrow-fault”/>
                                </condition>
                </faultName>
</Conditions>
<Actions>
                <Action id=”ora-rethrow-fault:>
                                <rethrowFault/>
                </Action>
<Actions>

0 comments:

Post a Comment

 
Blogger Profile