Property: whenever executed parallel

Non blocking invoke à true (multithreading)





i/p 2 i1 ,i2 2 int

o/p 2 result àint


create variables:

  • name (add) type(int)
  • name (mul) type(int)


Assign 1 :

Input 2 invoke 1 i/p

Input 2 invoke 2 i/p


Assign 2 :

Invoke 1 o/p 2 add


Assign 3:

Invoke 2 o/p 2 mul



Case1: add> mul

Case2:  mul  > add


Assign 4:

Add 2 result


Assign 5:

mul2 result


Create the property:

Double click on partner link (ex: PL _add)

Property  2click

Property name(non blocking invoke), property  value (true) 2ok



  • Put property to 2 partner links

  1. PL_add
  2. PL _ mul

  • Non blocking invoke means send the message parallel.



Loan approval process à when ever we know the flow of our project we work with “flow activity” .

i/p 2 loan amount, duration


Flow – N :

When we are not sure of the flow of the project and don’t how many web services we need to invoke we will dynamically process at runtime by using “flow activity” .


DB –poll + synchronous _read to file _write:



Fault Handling Frame work:

2 ways to handle the faults

  1. Process level :
  2. Scope
  3. Catch
  4. Catch all
  5. Throw
  6. compensate
  7. Policy level
  8. Fault – indings.xml
  9. Fault – polices .xml

  • Process level can be handle particular BPEL process only


In process have multiple BPEL’s are then if we created throw, catch, catch all for ci validation BPEL then it applicable for that BPEL only not applicable for total process project.

  • Policy level can be handle entire application /project


Process project all BPEL process handled.

2 types of faults

  1. Business faults: it can be defined business conditions

Ex: amount> 50,000 , length cc number = 16 digits

  1. Run time faults : it can handle by using catch, catch all blocks. It doesn’t have throw activity.

Business faultsRun time faults

  1. Catch
  2. catch
  3. catch all
  4. catch all
  5. throw




i/p 2 Branch name 2 string

branch 2 string

loan amount 2 int

o/p 2 Result 2 string



Case1 :

Label :SBI

Expression: bank name = “SBI”



Label :ICICI

Expression: bank name= “ICICI’


Throw 1 and catch1:

Name space URI = http://SBI BANK

Local part = SBI BANK


Throw 2 and catch2:

Name space URI = http://ICICI  BANK

Local part = ICICI BANK


Throw 3

Name space URI = http://other   BANKs

Local part = other BANKs

Process level :

Project 2 customer details.

  1. Policy level:
  2. Fault – bindings.xml
  3. Fault – policies.xml

These core tutorials will help you to learn 

the fundamentals of Oracle SOA.

For an in-depth understanding and practical experience,

explore Online Oracle SOA Training.

Write inside composite .xml:

<property name = “oracle .composite.faultpolicy file”>

Fault – policies.xml</property>

<property name = “oracle .composite.faultpolicy file”>

Fault – bindings.xml</property>

  1. xml 2 open source


<component name =”BPEL process 1”  version= “1-0”>

  1. Copy fault – bindings.xml , fault – polices.xml

Paste inside project(C://j developer/ my works/application ramesh 1/project)

fault –policies.xml -> contains (actions)

  1. Ora – retry
  2. Ora – terminate

  • Ora – human intervention

  1. Ora –rethrow
  2. Ora –reply
  3. Ora –java


Main faults:

  1. Remote fault
  2. Mediator fault

  • Binding fault

  1. Selection failure.


Ora – retry:

  1. Retry interval failure action
  2. Retry count

  • Retry failure action


Ora – human intervention:

Some one has come and do something


Ora –java:

Send the mail to admin /client(java code)


Ora –rethrow:

Throw back policy level to process level


Ora – terminate:

Immediately stop the process.


Ora –reply:

Starts again 2 ora retry


Example for above all (remote fault)



  1. Shut down
  2. Retired
  3. Undeploy
  4. Server shutdown


Mediator faults:

  • Routing rules
  • Transformation
  • XSD validation
  • Filter condition


Binding fault:

WSDL miss match


Ault – policies .xml:


<fault name Xmlns:bpelx = name =”bpelx: remotefault” >


<action ref =”ora -retry”/>


</fault name>

<faultname Xmlns:bpelx = name =”medns:mediatorfault” >


<action ref =”my – mediator-fault-handler”/>


</fault name>

<fault name Xmlns:bpelx = name =”bpelx: bindingfault” >


<action ref =”my- java- handler”/>


</fault name>



<Action id = “my –java-handler”>


<retry count>4</retrycount>

<retry FailureAction ref =”Ora – human - intervention”/>




For Indepth knowledge on Oracle SOA, click on below