Simple DMN file parsing is not working

<?xml version="1.0" encoding="UTF-8"?> cibilScore >500 "Approved" <500 "Rejected"

Java Code

@RequestMapping(value = “/cibilCheck/{tenantId}”)
public String cibilCheck(@PathVariable(“tenantId”) String tenantId)
{
Map<String, Object> vals = new HashMap<String, Object>();
vals.put(“cibilScore”, “600”);

    //tenant id will be used in future

    DmnDecisionTableResult decisionResult = decisionService
            .evaluateDecisionTableByKey("Decision_1w4qd80")
            .variables(vals)
            .evaluate();
    String cibilStatus = decisionResult.toString();

    System.out.println("Cibil Status="+ cibilStatus);
    return cibilStatus;
}

Exception

2020-09-10 09:41:04.036 ERROR 15022 — [ main] org.camunda.bpm.engine.context : ENGINE-16004 Exception while closing command context: ENGINE-22004 Unable to transform DMN resource ‘CibilCheck.dmn’.

org.camunda.bpm.engine.ProcessEngineException: ENGINE-22004 Unable to transform DMN resource ‘CibilCheck.dmn’.
at org.camunda.bpm.engine.impl.dmn.DecisionLogger.exceptionParseDmnResource(DecisionLogger.java:58) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.dmn.deployer.DecisionRequirementsDefinitionDeployer.transformDefinitions(DecisionRequirementsDefinitionDeployer.java:66) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.transformResource(AbstractDefinitionDeployer.java:98) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.parseDefinitionResources(AbstractDefinitionDeployer.java:73) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.deploy(AbstractDefinitionDeployer.java:63) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer$1.call(CacheDeployer.java:53) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer$1.call(CacheDeployer.java:50) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:477) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer.deploy(CacheDeployer.java:50) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.persistence.deploy.cache.DeploymentCache.deploy(DeploymentCache.java:66) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.persistence.entity.DeploymentManager.insertDeployment(DeploymentManager.java:64) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd.deploy(DeployCmd.java:485) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd$1.call(DeployCmd.java:141) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd$1.call(DeployCmd.java:129) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:477) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd.doExecute(DeployCmd.java:129) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:95) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:75) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:27) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:106) ~[camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:45) [camunda-engine-spring-7.10.0.jar:7.10.0]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) [spring-tx-5.3.0-M2.jar:5.3.0-M2]
at org.camunda.bpm.engine.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:43) [camunda-engine-spring-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:69) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.RepositoryServiceImpl.deployWithResult(RepositoryServiceImpl.java:101) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deployWithResult(DeploymentBuilderImpl.java:269) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:265) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.impl.repository.ProcessApplicationDeploymentBuilderImpl.deploy(ProcessApplicationDeploymentBuilderImpl.java:62) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.container.impl.deployment.DeployProcessArchiveStep.performOperationStep(DeployProcessArchiveStep.java:144) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:119) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.executeDeploymentOperation(MBeanServiceContainer.java:159) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.container.impl.spi.DeploymentOperation$DeploymentOperationBuilder.execute(DeploymentOperation.java:215) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.container.impl.RuntimeContainerDelegateImpl.deployProcessApplication(RuntimeContainerDelegateImpl.java:101) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.application.AbstractProcessApplication.deploy(AbstractProcessApplication.java:62) [camunda-engine-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.spring.application.SpringProcessApplication.start(SpringProcessApplication.java:109) [camunda-engine-spring-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.spring.application.SpringProcessApplication.afterPropertiesSet(SpringProcessApplication.java:118) [camunda-engine-spring-7.10.0.jar:7.10.0]
at org.camunda.bpm.spring.boot.starter.SpringBootProcessApplication.afterPropertiesSet(SpringBootProcessApplication.java:90) [camunda-bpm-spring-boot-starter-3.2.5.jar:3.2.5]
at org.camunda.bpm.engine.spring.application.SpringProcessApplication.onApplicationEvent(SpringProcessApplication.java:95) [camunda-engine-spring-7.10.0.jar:7.10.0]
at org.camunda.bpm.engine.spring.application.SpringProcessApplication.onApplicationEvent(SpringProcessApplication.java:51) [camunda-engine-spring-7.10.0.jar:7.10.0]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:203) [spring-context-5.3.0-M2.jar:5.3.0-M2]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:196) [spring-context-5.3.0-M2.jar:5.3.0-M2]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:161) [spring-context-5.3.0-M2.jar:5.3.0-M2]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:426) [spring-context-5.3.0-M2.jar:5.3.0-M2]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:383) [spring-context-5.3.0-M2.jar:5.3.0-M2]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:944) [spring-context-5.3.0-M2.jar:5.3.0-M2]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591) [spring-context-5.3.0-M2.jar:5.3.0-M2]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) [spring-boot-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:751) [spring-boot-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:410) [spring-boot-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) [spring-boot-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1280) [spring-boot-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1269) [spring-boot-2.4.0-SNAPSHOT.jar:2.4.0-SNAPSHOT]
at com.perfios.rulesfactory.RulesfactoryApplication.main(RulesfactoryApplication.java:11) [classes/:na]
Caused by: org.camunda.bpm.dmn.engine.impl.transform.DmnTransformException: DMN-02003 Unable to transform decisions from input stream.
at org.camunda.bpm.dmn.engine.impl.transform.DmnTransformLogger.unableToTransformDecisionsFromInputStream(DmnTransformLogger.java:51) ~[camunda-engine-dmn-7.12.0.jar:7.12.0]
at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.setModelInstance(DefaultDmnTransform.java:114) ~[camunda-engine-dmn-7.12.0.jar:7.12.0]
at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.modelInstance(DefaultDmnTransform.java:119) ~[camunda-engine-dmn-7.12.0.jar:7.12.0]
at org.camunda.bpm.engine.impl.dmn.deployer.DecisionRequirementsDefinitionDeployer.transformDefinitions(DecisionRequirementsDefinitionDeployer.java:60) ~[camunda-engine-7.10.0.jar:7.10.0]
… 53 common frames omitted
Caused by: org.camunda.bpm.model.dmn.DmnModelException: Unable to parse model
at org.camunda.bpm.model.dmn.impl.DmnParser.parseModelFromStream(DmnParser.java:75) ~[camunda-dmn-model-7.12.0.jar:7.12.0]
at org.camunda.bpm.model.dmn.Dmn.doReadModelFromInputStream(Dmn.java:243) ~[camunda-dmn-model-7.12.0.jar:7.12.0]
at org.camunda.bpm.model.dmn.Dmn.readModelFromStream(Dmn.java:157) ~[camunda-dmn-model-7.12.0.jar:7.12.0]
at org.camunda.bpm.dmn.engine.impl.transform.DefaultDmnTransform.setModelInstance(DefaultDmnTransform.java:111) ~[camunda-engine-dmn-7.12.0.jar:7.12.0]
… 55 common frames omitted
Caused by: org.camunda.bpm.model.xml.ModelParseException: SAXException while parsing input stream
at org.camunda.bpm.model.xml.impl.util.DomUtil.parseInputStream(DomUtil.java:245) ~[camunda-xml-model-7.12.0.jar:7.12.0]
at org.camunda.bpm.model.xml.impl.parser.AbstractModelParser.parseModelFromStream(AbstractModelParser.java:131) ~[camunda-xml-model-7.12.0.jar:7.12.0]
at org.camunda.bpm.model.dmn.impl.DmnParser.parseModelFromStream(DmnParser.java:72) ~[camunda-dmn-model-7.12.0.jar:7.12.0]
… 58 common frames omitted
Caused by: org.xml.sax.SAXException: Error: URI=null Line=2: cvc-elt.1: Cannot find the declaration of element ‘definitions’.
at org.camunda.bpm.model.xml.impl.util.DomUtil$DomErrorHandler.error(DomUtil.java:202) ~[camunda-xml-model-7.12.0.jar:7.12.0]
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:137) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1901) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:741) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:613) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3132) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:852) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243) ~[na:1.8.0_252]
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339) ~[na:1.8.0_252]
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121) ~[na:1.8.0_252]
at org.camunda.bpm.model.xml.impl.util.DomUtil.parseInputStream(DomUtil.java:240) ~[camunda-xml-model-7.12.0.jar:7.12.0]
… 60 common frames omitted

Note : I am using camunda modeller 4.2.0

Camunda Jar in my project as follows :slight_smile:

compile group: ‘org.camunda.bpm.springboot’, name: ‘camunda-bpm-spring-boot-starter’, version: ‘3.2.5’
compile group: ‘org.camunda.bpm.dmn’, name: ‘camunda-engine-dmn’, version: ‘7.12.0’
compile group: ‘com.sun.xml.bind’, name: ‘jaxb-impl’, version: ‘2.2.3’

HI @janmejayas
Can you take a read through the style guide and clean up your post a little - it’ll be easier to read and people will be more include to give better answers.

Ok… Will follow the style guide… Can you help me with the solution on my query… I have few more query…we are planing to use Camund as a rules engine in our project… I am doing a POC on it.

For our business model, I have few more query… if you can connect with me…I would like to have a discussion.

Hi @janmejayas,

Camunda Modeler 4.2.0 creates DMN 1.3 compliant diagrams.

You need a Camunda Platform >= 7.13 to execute them.

Hope this helps, Ingo

3 Likes

Thank you so much…

Hi Team,

I have a scenario, Where I want to calculate % value of 3 input field. Is it possible in Decision tree.

PFA an image…

Can I use Math function like Excel, in Decision table or We need to provide only static values to finalise the decision.