Skip to main content

Posts

Showing posts with the label XSL

ApplicationContext creation/usage among XSLs in BPEL(Oracle SOA) process.

In these posts post1 , post2 , I have explained how to create custom XSL functions using Java in both BPEL(Oracle SOA)/BPM(Oracle BPM) processes. This post describes about ,how to create ApplicationContext and how to use it among XSLs across Oracle SOA process. Below example explains on how to calculate  age of persons by taking array of DateOfBirth  inputs. I know it can be done with simple XSL transformation by calling custom XSL function.  But, the main intention is to explain the ApplicationContext creation and usage of it over multiple XSLs used in the course of BPELprocess. ApplicationContext meaning here is : Create a Java Context(with inspiration of ThreadLocal class)  object which gets initialized at start of the BPEL process with necessary data either in the form of Collections or POJO, And hold these initialized definitions throughout the lifecycle of BPEL Process token(instance) ,which can be read or modified as and when needed. Note/Warning : It can be

How to create custom XSL functions using Java code, BPEL - Oracle SOA, XSLT 1.0

This post talks about how to create customized XSL functions with Java code inside BPEL Process(Oracle SOA 11g). Refer below steps to follow the approach. Using this approach there is no need of placing jar file into oracle commons directory as suggested by oracle documentation. With this approach , if any changes made in java source, composite deployment is needed. With the Oracle preferred approach(deploying jar in commons directory),deployment of composite is not needed only if  sourcecode in java class doesn't have any changes its method signature. However,Server restart is must when updated jar being placed in oracle commons directory. Its up-to the necessity and approach as per organizational/architectural standards. Even though its not recommend to use Java classes inside XSL transformations, few specific scenarios XSL can't handle. For example, finding difference in the dates is a difficult approach in XSLT 1.0 ,since it does nt have supporting functions. Below