Exception when using mdm_context without a TalendMDMContextConnector.

This exception happens when launching a workflow from Talend MDM. Talend MDM leverages the mdm_context variable to serialize and pass the model and entity data to the workflow engine embedded in Talend MDM. This error occurs when the workflow engine is unable to deserialize the data back into the mdm_context variable in the workflow.


Environment

This happens on Talend MDM 6.0, 6.1, and 6.2 with the Community Bonitasoft 6.5.x workflow engine. Note that this is OS independent. The Community Bonitasoft 6.5.x portal should be running on Java 7.


Symptoms/Description

You will receive the following exception as show below in the mdm log file:

return org.talend.mdm.workflow.client.MDMContextImpl.deserialize(mdmContextBytes).extractCompressedSchema(schemaStr);> depends on org is neither defined in the script nor in dependencies. ( )
    at org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy.evaluate(GroovyScriptExpressionExecutorCacheStrategy.java:140)
    at org.bonitasoft.engine.expression.impl.ExpressionServiceImpl.evaluate(ExpressionServiceImpl.java:86)
    at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionWithResolvedDependencies(ExpressionResolverServiceImpl.java:215)
    at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionsFlatten(ExpressionResolverServiceImpl.java:120)
    at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluate(ExpressionResolverServiceImpl.java:83)
    at org.bonitasoft.engine.bpm.model.impl.BPMInstancesCreator.createDataInstances(BPMInstancesCreator.java:582)
    at org.bonitasoft.engine.execution.ProcessExecutorImpl.initialize(ProcessExecutorImpl.java:394)
    at org.bonitasoft.engine.execution.ProcessExecutorImpl.start(ProcessExecutorImpl.java:743)
    at ... 32 more. ( )
    at  Caused by: groovy.lang.MissingPropertyException.: No such property: org for class: BScript1 ( )
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)
    at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
    at BScript1.run(BScript1.groovy:4)
    at org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy.evaluate(GroovyScriptExpressionExecutorCacheStrategy.java:134)
    at ... 39 more. ( )

Resolution

Make sure you have at least one TalendMDMContextConnector in the entire workflow as shown below. You cannot have an mdm_context object without having a TalendMDMContextConnector. This error will happen if you remove all TalendMDMContextConnector in all the steps of your workflow.

image2016-9-24 11-39-29.png


Related Jira Issues

TMDM-10105 - [Workflow] Dependencies required for mdm context are brought by MDM connectors' dependencies - New

Version history
Revision #:
2 of 2
Last update:
‎06-17-2017 12:19 AM
Updated by:
 
Labels (1)
Tags (1)