DMN Engine - Cannot evaluate decision


#1

I am trying to evaluate one DMN example, but I am receiving the following message: “message”: “Cannot evaluate decision beverages:2:1505bf03-4268-11e8-9074-e4a4711dd86d: Exception while evaluating decision with key ‘null’”

Here is the post request I am using:
localhost:8080/engine-rest/decision-definition/key/beverages/evaluate

{
“variables” : {
“desiredDish” : { “value” : “Spareribs”, “type” : “string” },
“guestsWithChildren” : {“value” : “true”, “type” : “boolean” }
}
}

There is any other way to evaluate the DMN process?

simulation.dmn (9.2 KB)


#2

Hi @Rudson_Rodrigues,

you can find the full error message in the server log. It seems that you pass the wrong variables for the decision.
To evaluate the “beverages” decision, you need the following variables:

  • season: String
  • guestCount: Integer
  • guestsWithChildren: Boolean

The variable “desiredDish” is resolved by the required “dish” decision.

Please have a look at the Get Started DMN guide.

Best regards,
Philipp


#3

I was using the wrong variable name, tks!!


#4

@Philipp_Ossler I too getting the above issue I have created dmn Decide on Beverage with input as name and timeOfDay
Input : {“variables”:{“name”:{“value”:“Dale Cooper”,“type”:“string”},“timeOfDay”:{“value”:“Morning”,“type”:“string”}}}
Result :
{
“type”: “RestException”,
“message”: “Cannot evaluate decision decision:1:1a9145df-a7b4-11e8-9d82-68f728727af6: Exception while evaluating decision with key ‘null’”
}

Getting above issue.


#5

Hi @Krishna_Kumar,

please have a look at the log file to see the exception. The Rest API doesn’t provide the full stacktrace.

Best regards,
Philipp


#6

@Philipp_Ossler Thanks for the reponse. It is working now.


#7

Hi Krishna
So … what did you do to get it working?
I have ran examples above and too am getting null error!
Exception in log
"message" : "org.camunda.bpm.engine.rest.exception.RestException: Cannot evaluate decision beverages:1:614a9665-c727-11e8-bc3e-0242ac110002: Exception while evaluating decision with key 'null'\n\tat org.camunda.bpm.engine.rest.sub.repository.impl.DecisionDefinitionResourceImpl.evaluateDecision(DecisionDefinitionResourceImpl.java:155)


#8

@cmorrissey Check your <decision id="decision"> in .dmn file

<decision id="decision" name="decision">
    <decisionTable id="selectionDecisionTable" hitPolicy="FIRST">

Try to make rest call using decision id as key.


#9

Thanks for speedy response!
The following REST example worked for evaluate API: https://github.com/camunda/camunda-bpm-spring-boot-starter/blob/master/starter/src/test/resources/dmn/check-order.dmn
My issue, I discovered, was that there were two rules that contained identical inputEntry <text>..</text> combinations. I deleted one of the rules and REST API worked.
Have docker running with logging and the log messages did not prove helpful.


#10

Check if there are any empty rows in decision table (one empty row is allowed but not more than one), if you find more than one, then you need to delete the empty rows and re-deploy the decision table again.
Give a try it works.