2009/02/05

Oracle SOA Suite: Adding a custom XSL Function to ESB

Sometimes you need a function within the XSLT that is not available within the standard XPath/XSLT functions or within the Oracle extensions, so you have to make an extension. This post explains how this can be done (within 10.1.3.x).

1) Create Java class that implements the extension function. You must inherit from IXPathFunction.
Note: To be able to test your function within JDeveloper you have to add the Orabpel.jar and Orabpel-common.jar libraries.

2) To be able to "see" the function within JDeveloper to have to create a extension function config file:


Within JDeveloper go to "Tools - Preferences" and select XSL Maps. Browse to the config file and restart JDeveloper afterwards.
Within the component view you can see the extension function:

3) Use within the XSL file.
Add the namespace of the extension function:
xmlns:ext="http://www.oracle.com/XSL/Transform/java/.CizBase64Encoder"

And then use with the XSL code:

4) Add to SOA Suite runtime.
To be able to use it you should copy the classes to:
%ORACLE_SOA%\bpel\system\classes
Note: Do not forget package directories.

And you are Done!

No comments:

Post a Comment