Thursday, February 12, 2009

HOW TO USE CUSTOM EXTENSION FUNCTIONS IN ESB VIA JDEVELOPER 10.1.3.4

How to create custom xpath functions in JDeveloper.



ANSWER
=======
My Sample extension function save in D:\myxpath

---------------------------------------
package myxpath.functions;
public class StringTest
{
public StringTest()
{
}
public static String toUpperCase(String s)
{ return s.toUpperCase();
}
}

----------------------------------------------

set PATH=D:\ORACLE\jdevstudio10134\jdk\bin;%PATH%
D:\myxpath>javac StringTest.java -d .

(Note -d and . it creates the class file with directory structure)

Create the XSL Mappers extesnion XML file
D:\myxpath\myxpathExtensionFunctions.xml
==========================================


xmlns:sample="http://www.oracle.com/XSL/Transform/java/myxpath.functions.StringTest">







============================================
For more info Refer:
SOA_Oracle_home\bpel\samples\demos\XSLMapper\ExtensionFunction\README.txt

Create the JDEV Extesnion XML file in
D:\myxpath\meta-inf\extension.xml
============================================

id="myxpath.functions.StringTest"
version="10.1.3"
esdk-version="1.0">
StringTest
Anirudh Pucha

============================================
For more info refer:
/jdev/doc/extension/ide-extension-packaging.html

Create the JAR file
D:\myxpath>jar -cvf myxpath.functions.StringTest.10.1.3.jar
myxpath\functions\StringTest.class
-m meta-inf\extension.xml

Copy this JAR file to \jdev\extensions\
For Eg: D:\ORACLE\jdevstudio10134\jdev\extensions\myxpath.functions.StringTest.10.1.3.jar

Goto Jdev->Tools->Prefereance->XSl Maps->User Defined Extension config file and give
myxpathExtensionFunctions.xml

Restart your JDEV and now you should be able to see the Custom XSL Map function under :
User Defined Function in XSL Mapper design.

Now you can use this custom function like this in design time:


To use this function at runtime for ESB:
Open your j2ee\oc4j_soa\config\server.xml and add a entry below

as follows :

2 comments:

Rafael said...

Hi Anirudh,

I´ve tried the way you specify in Your blog but seems like the function is not being called, even though it appears in the component palette and the are no errors in the xsl file, but when testing the function is not being called and the attributes mapped with the function are not displayed.

Any idea what might be going on?

Also notice that I´m using Jdeveloper 10.1.3.3 so is there anything extra to be done, like configuring different file or something like that?

I would really appreciate any comments on this issue.

Regards,

Anirudh Pucha said...

Please use JDeveloper 10.1.3.4 as mentioned and let me know the results.