Project fault – policies process
XSD:
i/p i1,i2 àint
o/p result àint
- Copy fault binding .xml, fault policies.xml
Post inside project(c://j developer/my works/application _ Ramesh 2 /project)
- Open composite .xml à source code
<Services>
<property name = “oracle .composite.faultpolicy file”>
Fault – policies.xml</property>
<property name = “oracle .composite.faultpolicy file”>
Fault – bindings.xml</property>
<component name =”BPEL process1” version =”1.0”>
Assign 1 :
Input invoke 1 i/p
Assign 2 :
invoke o/p o/p Catch: Name space URL = http://remotefault Local part = remote fault
Assign 3 :
o/p partner link not available.
Binding fault non – reliable fault
Remote fault retriable fault
If partner link rejried remote fault
JNDI name gives wrong JCA binding fault
WSDL miss-match Binding fault
“Ora – human Intervention”: starts the action where it’s stopped
Ex: it’s stopped at invoke
BPEL faults tab
reversible
click
Variable: select invoke
Recovery Action:
Click on Recovery
Starts the action when it’s stopped
Common fault you faced:
- Remote fault
- Binding fault
- Selection failure
- Time out exception à when there is a delay in response we can get time out error
- 500 error: when the deploying time 500 errors show that means server not working
Compensation handles: (rollback action)
- Benefits role back in “asynchronous”
Compensation Handles: (Rollback action) Benefits role back in “Asynchronous”
Create 3 variables:
- Add – int
- Mul – int
- Div – int
XSD:
i/p i1,i2
int
o/p result
int
Assign 1:
- Add =0
- Mul = 0
- Div =0.0
Assign 2:
I1+i2 = result
Assign 3:
I1*i2 = result
Assign 4:
I1/i2 = result
Assign 5:
o/p:
concat(‘Addition=’, Add, ‘multiplication=’,mul, ‘division=’,div)
Inclined to build a profession as Oracle SOA Developer?
Then here is the blog post on Oracle SOA Training Online.
A6 o/p
0 = add
A7 o/p
0 = mul
A8 o/p
0.0 = div
Switch:
Lable : div = infinity Expression : div =’Infinity’ or div = ‘- infinity
Money transfer one account to other account:
Create ICICI DB table :
A/C no | Name | Amount |
101 | AAAA | 10,000 |
102 | BBBB | 20,000 |
103 | CCCC | 30,000 |
104 | DDDD | 40,000 |
Create HDFC DB table:
A/C no | Name | Amount |
201 | Aaa | 10,000 |
202 | Bbb | 20,000 |
203 | Ccc | 30,000 |
204 | ddd | 40,000 |
create one global variable
amount int
invoke 1 operation (select - update)
invoke 2 operation (update)
invoke 3 operation (select - update)
invoke 4 operation (update)
invoke 5 operation (select - update)
invoke 6 operation (update)
ICICI DB
4-10 update only ,select
8-10 parameter/tempid,
SQL/select a/c no, name, amount from ICICI DB where (A/c no = temp id)
A1:
Input /from a/c mo invoke 1 i/p /temp id
A2:
Invoke 1 o/p/Amount amount(variable)
A3:
Amount (variable invoke 2 i/p /amount)
Invoke 1 o/p /name invoke 2 i/p / name
Invoke 1 0/p /a/c no invoke 2 i/p / a/c no
A4:
Input /to a/c mo invoke 1 i/p /temp id
A5:
Invoke 3 o/p/Amount amount(variable)
A6:
Amount (variable invoke 2 i/p /amount)
Invoke 3 o/p /name invoke 2 i/p / name
Invoke 3 0/p /a/c no invoke 2 i/p / a/c no
A7:
invoke 1 o/p /amount invoke 5 i/p /amount)
invoke 1 o/p/ name invoke 5 i/p /name
invoke 1 o/p/ a/c no invoke 5 i/p /a/c no
invoke 3 o/p /amount invoke 8 i/p /amount)
invoke 3 o/p/ name invoke 8 i/p /name
invoke 3 o/p/ a/c no invoke 8 i/p /a/c no
A8:
“Transaction roll backed due to fault”
A9:
“Amount transfer action completed”
Fault variable
XSD: (take one element)
<element name = “fault”>
<complex type>
<sequence>
<element name = “details” type =”string”/>
<element name = “code” type =”string”/>
<element name = “description” type =”string”/>
</sequence>
</complex type>
</element>
WSDL (mention /write last of the page)
<WSDL : message name = “fault message”>
<WSDL : part name = “pay load” element = “client : Fault”/>
</WSDL : message>
BPEL:
Create Variable = name = Fault Variable Message = fault message ok
Throw:
Name space :
http:// saiteja .com/test
Local part : test Fault Variable : Fault Variable <variable name>
- DVM (Domain Value mapping)
static value mapping
- Dynamic partner link
improve performance by reducing PL’s
- X- Ref (cross Reference)
Dynamic object value mapping
- Correlation .set
To maintain state full session by using correlation id
For In-depth knowledge on Oracle SOA, click on below
- Oracle SOA ATA (Application Integration architecture)
- How to work with FTP(File transfer protocol) in Oracle SOA
- Oracle SOA Interview Questions & Answers
- Oracle SOA Admin Interview Questions
- Oracle SOA Tutorials