Cordys: Using custom Java within your Message Map


Sometimes it is needed to add a custom Java call within your Message Map or Data Transformation.
This blog item describes how to do this for a Message Map. In this example I wrote a decode/encode methods for base64Binary.

Java Code

First you have to write your Java code. This can be done in any environment you like. Generate the .jar file.
Here's my Java code:

package com.util;

import com.eibus.util.system.Native;

public class Base64Util {
 public static String decodeFromBase64(String input){
            String result = new String(Native.decodeBinBase64(input.getBytes(), input.length()));
            return result;

 public static String encodeToBase64(String input){
                String result = new String(Native.encodeBinBase64(input.getBytes(), input.length()));
                return result;

Import within BOP4

The next step you need to do is to import your .jar library within Cordys.
  1. Create a Folder where you want to import the .jar file (for example InstallDir)
  2. Create some subFolders underneath it for the Qualified Name
  3. Set the Start Qualified Name

  1. Upload the .jar file by selecting Upload Document .. on the subfolder where you want your library

  1. Select the base64Util.jar file and click Finish

Use within Message Map

Now you are able to use the method within a Message Map of a Business Process.
  1. Create Business Process

  1. Use within the Message Map

Service Container classpath

The last thing you need to do is to change the classpath of the service container the process is running in.
  1. Goto System Manager
  2. Goto the Business Process Management container in which the business process is running
  3. Select Properties
  4. Select JRE Configuration Tab
  5. Enter the class path of the jar file. This is the Cordys installation directory + Qualified Name as defined in "Import within BOP4" part.

No comments:

Post a Comment