Project fault – policies process

41    

XSD:

i/p 2 i1,i2 àint

o/p 2 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 2 invoke 1 i/p  

Assign 2 :

invoke  o/p 2o/p Catch: Name space URL = http://remotefault Local part = remote fault  

Assign 3 :

o/p 2 partner link not available.

Binding fault2 non – reliable fault

Remote fault 2retriable fault

If partner link rejried 2 remote fault

JNDI name gives wrong 2 JCA binding fault

WSDL miss-match 2 Binding fault  

“Ora – human Intervention”: starts the action where it’s stopped

Ex: it’s stopped at invoke

BPEL 2 faults tab 2 reversible 2 click

Variable: 2 select invoke

Recovery Action:

Click on 2 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”

  Compensation Handles  

Create 3 variables:

  • Add – int
  • Mul – int
  • Div – int

XSD:

i/p 2 i1,i2 2 int

o/p 2 result 2 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)

  Throw and Catch  

Inclined to build a profession as Oracle SOA Developer? 
Then here is the blog post on Oracle SOA Training Online.

A6 2 o/p 20 = add

A72 o/p 20 = mul

A8 2 o/p 2 0.0 = div

Switch:

Lable : div = infinity Expression : div =’Infinity’ or  div = ‘- infinity    

Money transfer one account to other account:

Transfer of money    

Create ICICI DB table :

A/C  noNameAmount
101AAAA10,000
102BBBB20,000
103CCCC30,000
104DDDD40,000

Create HDFC DB table:

A/C  noNameAmount
201Aaa10,000
202Bbb20,000
203Ccc30,000
204ddd40,000

    create  one global variable

amount 2  int

invoke 1 2  operation (select - update)

invoke 2 2 operation (update)

invoke 32  operation (select - update)

invoke 4 2 operation (update)

invoke 52  operation (select - update)

invoke 62  operation (update)  

ICICI DB

4-10 2 update only ,select

8-10 2  parameter/tempid,

SQL/select a/c no, name, amount from ICICI DB where (A/c no = temp id)  

A1:

Input /from a/c mo 2 invoke 1 i/p /temp id  

A2:

Invoke 1 o/p/Amount2  amount(variable)  

A3:

Amount (variable 2invoke 2 i/p /amount)

Invoke 1 o/p /name 2  invoke 2 i/p / name

Invoke 1 0/p /a/c no 2  invoke 2 i/p / a/c no  

A4:

Input /to a/c mo 2 invoke 1 i/p /temp id  

A5:

Invoke 3 o/p/Amount 2 amount(variable)  

A6:

Amount (variable 2invoke 2 i/p /amount)

Invoke 3 o/p /name 2 invoke 2 i/p / name

Invoke 3 0/p /a/c no2 invoke 2 i/p / a/c no  

A7:

invoke 1  o/p /amount 2 invoke 5 i/p /amount)

invoke 1  o/p/ name2 invoke 5 i/p /name

invoke 1  o/p/ a/c no2 invoke 5 i/p /a/c no

invoke 3  o/p /amount 2 invoke 8 i/p /amount)

invoke 3 o/p/ name2 invoke 8 i/p /name

invoke 3  o/p/ a/c no2 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 message2 ok  

Throw:             

Name space :

http:// saiteja .com/test

Local part : test Fault Variable :  Fault Variable <variable name>

  • DVM (Domain Value mapping)2 static value mapping
  • Dynamic partner link 2 improve performance by reducing PL’s
  • X- Ref (cross Reference) 2Dynamic object value mapping
  • Correlation .set2To maintain state full session by using correlation id

For In-depth knowledge on Oracle SOA, click on below