Getting Started With Oracle SoA 9
Getting Started With Oracle SoA 9
Getting Started With Oracle SoA 9
Description BISP is committed to provide BEST learning material to the beginners and advance learners. In the same series, we have prepared a complete end-to end Hands-on Beginners G ide !or "racle So#. The doc ment !oc ses on $or%ing with & stom 'a lts. (oin o r pro!essional training program and learn !rom e)perts.
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page /
Contents
&ontents....................................................................................................................................... 1 $or%ing with & stom !a lts ......................................................................................................... 5 Step wise proced re on topper st dent pro6ect with !a lt handling 7c stom !a lt8+.....................5 9otive o! Switch #ctivit*.............................................................................................................. :
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 1
$or%ing with & stom !a lts !"$hat are c stom !a lts ; A" & stom !a lts are those !a lts which is de!ined b* developer !or certain limitations . Summar# #im o! c stom !a lt pro6ect is that to catch those !a lts which are de!ined b* developer at the time o! service development so here in topper st dent pro6ect when someone inp t wrong st dent mar%s i.e inp t mar%s o! individ al s b6ect sho ld not be smaller than <ero = greater than h ndred , so this %ind o! restrictions are provided b* developer so i! wrong mar%s inp t then it shows c stom !a lt message that inp t mar%s is invalid .
Step wise procedure on topper student pro$ect with %ault handling &custom %ault"
Step ' "pen ProcessSt dent Pro6ect = nder it open ProcessSt dentProcess.bpel as shown below
Step ( In design mode -rag = -rop Switch #ctivit* so that bpel can set condition
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 5
Step - &lic% on lang/ mar%s ---? insert into e)pression ---? @ogical ' nction ----? smaller ---? insert into e)pression ---? . 7<ero8 or &lic% on lang/ mar%s ---? insert into e)pression ---? @ogical ' nction ----? greater ---? insert into e)pression ---? /.. 7h ndred8 or &lic% on lang1 mar%s ---? insert into e)pression ---? @ogical ' nction ----? smaller ---? insert into e)pression ---? . 7<ero8 or &lic% on lang1 mar%s ---? insert into e)pression ---? @ogical ' nction ----? greater ---? insert into e)pression ---? /.. 7h ndred8 or &lic% on lang5mar%s ---? insert into e)pression ---? @ogical ' nction ----? smaller ---? insert into e)pression ---? . 7<ero8 or &lic% on lang5 mar%s ---? insert into e)pression ---? @ogical ' nction ----? greater ---? insert into e)pression ---? /.. 7h ndred8 as shown below
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page A
Step /
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page B
Step 0 -rag = drop Throw #ctivit* CThis activit* throws the !a lt data to the catch activit*C
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page D
Step '1 -o ble &lic% "n Throw activit* = Edit Throw activit* , &lic% "n Browse icon shown below
Step '' "bserve that there is no !a lt message nder Pro6ect $S-@ 'iles in ProcessSt dentProcess.wsdl so !irst create !a lt message inside ProcessSt dent wsdl !ile !or c stom !a lt .
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page E
Step '( "bserve ProcessSt dentProcess.wsdl in design mode that inside port t*pe it has onl* two process one is Inp t = other o tp t b t not containing 'a lt as its third process so create it in so rce mode .
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 4
Step ', Edit PortT*pe as shown below + Gwsdl+!a lt messageHCInvalidSt dent9ar%s'a lt9essageC nameHCErrorC>?
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page /.
Step '- Edit 9essage T*pe -e!inition as shown below + Gwsdl+message nameHCInvalidSt dent9ar%s'a lt9essageC? Gwsdl+part nameHCInvalidSt dent9ar%s'a ltC elementHCerr+ErrorC>?
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page //
Step'.+ Import Error.)sd !rom oramds , open reso rce palette ---? S"#-9-S--?dev mds conn --?apps---?Error.)sd to get schema location o! error.)sd clic% once on it = se ctrl Ishi!tIc then paste inside schemalocation , delete all be!ore apps = write oramds+> be!ore apps . then cop* namespace !rom error.)sd = paste here inside namespace .
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page /1
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page /5
Step '0 #s completed editing wsdl clic% on design mode = observe !a lt process
E)plore !a lt on clic%ing JIK sign = see that it contains InvalidSt dent9ar%s !a lt9essage associated with its part .
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page /:
Step (1
Step (' "pen ProcessSt dentProcess.bpel = Edit Throw activit* again www.bispsol tions.com www.bisptrainigs.com www.h*periong r .com Page /A
Step (( Fow observe that this time wsdl contains Invalid st dent9ar%s!a lt9essage clic% on it = hit o% .
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page /B
Step (,
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page /D
icon .
Step (. &hec% that all LFame is associated with its pre!i) , so observe here that InvalidSt dent9ar%s'a lt,ar does not contains its pre!i) so clic% on LFame = edit variable , it sho ld be message t*pe , clic% on Browse
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page /E
icon .
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page /4
Step )1+ To assign !a lt&ode clic% on e)pression -rag = -rop on !a lt&ode as shown below
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 1.
Step )) Select -ate ' nctions = nder it select c rrent-date-Time then insert intoE)pressionthen clic% o%
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 1/
Step )-+ 'or &ompositeFame clic% #dvanced ! nctions ----? get&ompositenFame then
Step ). 'or &omponentFame clic% #dvanced ! nctions ----? get&omponentFame then insert into E)pression
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 11
Step )/ 'or &ompositeInstanceId clic% #dvanced ! nctions ----? get&ompositeInstanceId then insert into E)pression
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 15
Step )9 -rag = drop 2epl* #ctivit* = clic% twice on it to edit repl* as shown below+
Step ,1 Edit 2epl* as shown below + www.bispsol tions.com www.bisptrainigs.com www.h*periong r .com Page 1:
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 1A
Step ,) -eplo* pro6ect b* clic%ing ProcessSt dent to devsoa www.bispsol tions.com www.bisptrainigs.com www.h*periong r .com Page 1B
Fote+ Be!ore -eplo*ment Start $eblogic #dmin Server as disc ssed in m* previo s doc ment "racle Soa Part I, -oc.
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 1D
Fote + Here localhost is application server = D../ is a port in which enterprise manager is r nning. Step ,. @ogin sing credentials Nser Fame +weblogic Password + welcome/ clic% on login
Step ,/ $e have s ccess! ll* login inside Enterprise manager //g 7'armOdevOsoa8 we can clearl* observe here that admin server is p = all deplo*ment stat s is also p it means that o r admin server is r nning .
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 1E
Fow In le!t pane o! window nder 'armOdevOsoa clic% on S"# radio b tton now again e)pand = nder de!a lt we can easil* see all the deplo*ed pro6ects. &lic% on Processst dent twice
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 14
#nd get 2esponse shown below+ Step -( Fow since inp t lang/ mar%s is /A. = so it displa*s c stom error or InvalidSt dent9ar%s Error as shown below .&lic% on close .
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 5.
Step -) + Parse wsdl = again tr* with these inp ts shown below +
&lic% on Test $eb Service Step-, "bserve response witho t error beca se this time all inp t lang mar%s are between . = /...
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 5/
Step -- #ll instances are completed = instance 51...1 is completed with c stom !a lt = instance 51...5 is completed witho t errors .
F"TE+ Fow how we catch these !a lts thro gh invo%ing service , ne)t steps are concentrated on this P estion in which calling service is TopperSt dent Service . Step -.+ "pen Topper St dent Process . bpel clic% on #dd catch all activit* shown below
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 51
F"TE+ &atch activit* can catch onl* s*stem !a lts where as catch all activit* catches b siness !a lt Step -/+ &lic% on so rce mode .&op* all activies o! catch = paste inside catch all bloc% in sorce mode
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 55
Step -9 Paste inside &atch all activit* www.bispsol tions.com www.bisptrainigs.com www.h*periong r .com Page 5:
Step .'
-rag = drop Scope #ctivit* as shown below+ www.bisptrainigs.com www.h*periong r .com Page 5A
www.bispsol tions.com
Scope Acti+it#
This activit* consists o! a collection o! activities that can have their own local variables , !a lt handlers, compensation handlers and so on . # scope activit* is analogo s to a bloc% Q R in programming lang age .Each scope has a primar* activit* can be comple) str ct red activit* that, with man* nested activities within it to arbitrar* depth. The scope is shared b* all the nested activities . Step .(+ Fow drag = drop all components inside scope activit* as shown below +
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 5B
2O34 Since we have made changes in ProcessSt dentProcess.wsdl in ProcessSt dentPro6ect hence also need changes in imported ProcessSt dentProcess.wsdl in TopperSt dent Pro6ect so that catch activit* catch this c stom !a lt as remote !a lt in TopperSt dentPro6ect . Step .) "pen ProcessSt dentProcess.wsdl in TopperSt dentPro6ect b* clic%ing on it = observe in design mode that it does not have !a lt process .
Aim + " r aim is to cop* the reP ired content !rom M9 wsdl M to MF wsdlM $here 9H MProcessSt dentProcess.wsdlM in ProcessSt dent Pro6ect = FH M MProcessSt dentProcess.wsdlM in TopperSt dentPro6ect
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 5D
Step .-
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 5E
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page 54
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page :.
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page :/
Step /'+ Paste PortT*pe to F.wsdl = save all b* clic%ing save icon
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page :1
Step /( &lic% F.wsdl in design mode = observe that now created 'a lt as process .
Step /) #dd Terminate activit* to terminate catch process as shown below = save all . www.bispsol tions.com www.bisptrainigs.com www.h*periong r .com Page :5
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page ::
-eplo*ment 'inished Fote+ Be!ore -eplo*ment Start $eblogic #dmin Server as disc ssed in m* previo s doc ment "racle Soa Part I, -oc Step // + &lic% on Browser icon shown below+
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page :A
Fote + Here localhost is application server = D../ is a port in which enterprise manager is r nning.
Step /9 @ogin sing credentials Nser Fame +weblogic Password + welcome/ clic% on login
Step 01 $e have s ccess! ll* login inside Enterprise manager //g 7'armOdevOsoa8 we can clearl* observe here that admin server is p = all deplo*ment stat s is also p it means that o r admin server is r nning . Fow In le!t pane o! window nder 'armOdevOsoa clic% on S"# radio b tton now again e)pand = nder de!a lt we can easil* see all the deplo*ed pro6ects. &lic% twice on TopperSt dentPro6ect .
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page :B
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page :D
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page :E
#nd get 2esponse shown below+ Step 0- Fow we can see that catch activit* catch the !a lt = replied to the client as 'a ltdata 2esponse b t here catch activit* cached it as remote !a lt thats wh* !a lt code is '9$-.../ = detail o! c stom !a lt is displa*ed inside -etail as '9$-..1 , G-etail?Invalid mar%s G>-etail? as shown below +
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page :4
'ig 7/8
'ig718
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page A.
'ig 758
'ig 7:8
Step 0/ "bserve instances = instance state is terminated beca se o! terminate activit* now !inall* clic% on sh tdown tab
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page A/
www.bispsol tions.com
www.bisptrainigs.com
www.h*periong r .com
Page A1