Recently faced critical issue while decoding Base64 encoded data.After doing lot of R&D finally achieved it by using Native Java Code.
Here are the step to step process to achieve the same.
Here are the step to step process to achieve the same.
- Created String variable with the name "MyRowIDVar".
- Copied Base64 encoded data into MyRowIDVar variable using Assign activity.
- Drag & Drop Java Embedding activity in middle of Bpel process and added below java code snippet in it. String rowid = (String)getVariableData("MyRowIdVar");
Base64Decoder Decoder = new Base64Decoder();
try
{
String decodedAmpersand = Base64Decoder.decode(rowid);
setVariableData("AA",Base64Decoder.decode(rowid));
}
catch(Exception e)
{
e.printStackTrace();
} - we need to import required classes into bpel code as shown below.
<bpelx:exec import="oracle.soa.common.util.*" />
<bpelx:exec import="java.lang.*" /> - When you open Bpel source code it should be looking like this. <bpelx:exec import="oracle.soa.common.util.*"/>
<bpelx:exec import="java.lang.*"/>
<bpelx:exec name="DecodeBase64" version="1.5" language="java">
<![CDATA[String rowid = (String)getVariableData("MyRowIdVar");
Base64Decoder Decoder = new Base64Decoder();
try
{
String decodedAmpersand = Base64Decoder.decode(rowid);
setVariableData("MyRowIdVar",Base64Decoder.decode(rowid));
}
catch(Exception e)
{
e.printStackTrace();
}]]>
</bpelx:exec> - Finally in MyRowIdVar variable having Decoded Base64 data which can be processed further as per the requirement.
- Below are few screen shots for the reference.
No comments:
Post a Comment