SYMPTOM

During an execution of a process or a mapping on a runtime that contains additional plugins (like for example AWS, ElasticSearch) you receive an error saying « Class was not found » or « Method was not found ».

For example:

com.indy.engine.common.exceptions.EngineExceptionI: A class was not found in the engine, contact your supplier

at com.indy.engine.action.common.ActionCodeTypeI.executeCode(SourceFile:1724)

at com.indy.engine.action.common.ActionCodeTypeI.run(SourceFile:1852)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger

at javax.mail.Session.initLogger(Session.java:227)

at javax.mail.Session.<init>(Session.java:212)

at javax.mail.Session.getInstance(Session.java:248)

at com.indy.engine.actionCodes.SendMailActionCodeI.executeSimpleCode(SourceFile:326)

at com.indy.engine.action.common.ActionCodeTypeI.executeCode(SourceFile:1693)


SOLUTION

This usually means that there are two conflicting java libraries in your runtime installation and Stambia is using the incorrect one. Some plugins come with a set of java libraries that may cause conflicts with the ones already existing in Stambia installation.

In the example above the error was caused by Amazon AWS SDK which contains file javax.mail-api-1.4.6.jar in amazon/third-party/lib. This file caused a conflict which resulted with the error when executing Send Mail action.

To resolve the conflict you will need to remove the library added with the plugin.