Two years ago, i did a post on how to use proxy java callout to base64 decode with OSB 184.108.40.206 http://yuanmengblog.blogspot.com/2011/04/base64-decoder-for-osb.html.
Now i have 220.127.116.11. Obviously, oracle has moved those jar files around, so you will have to find out where the xerces jar file is if you want to do the same thing in 18.104.22.168.
Well, a colleague brought to my attention something I thought was very cool: using XSLT java call to do the base64 decode. Then you don't need to do the proxy java callout, therefore, saving the trouble of uploading some custom jar file. That sounded very cool, so i decided to give it a shot.
For that we need to resolve two issues. 1. what's the Oracle xslt processor's syntax for java call (it appears to me the XSLT java call syntax varies among different xslt processors). 2. What is the new base64 decoder class in 22.214.171.124. The xslt code below answers both of these questions:
plug it into your proxy assignment activity, then you will get an output of
Keep in mind, directly referencing an undocumented/unsupported oracle class "weblogic.apache.xerces.impl.dv.util.Base64" is a tricky business, proceed at your own risk. currently, this class is inside "com.bea.core.apache_126.96.36.199.jar" under "C:\Oracle\Middleware\Oracle_OSB1\modules" for my 188.8.131.52 install. If oracle decides to change that, then you need to update your xslt as well.
testing on the command line (in my environment):
first jar is for oraxsl, 2nd jar is for base64 decoding:
java oracle.xml.parser.v2.oraxsl input.xml test.xslt