0
votes

I am new to drools. I want to fire multiple rules simultaneously depending on the condition. I am using batch-execution command as follows, but it gives me error : "Bad request, no commands to be executed - either wrong format or no data"

{
"batch-execution":{
    "lookup":"defaultKieSession",
    "commands":[
        {
            "insert":{
                "out-identifier":"TestAdvance",
                "object":{
                    "LoanAdvance":{
                        "tenure":4,
                        "isBlacklisted":false
                    }
                }
            }
        },
        {
            "insert":{
                "out-identifier":"TestAdvance",
                "object":{
                    "LoanAdvance":{
                        "tenure":3,
                        "isBlacklisted":false
                    }
                }
            }
        },
        {
            "fire-all-rules":{

            }
        }
    ]
}
}

My rule in guided decision table looks like this: the rule

I want to make a REST request to the rule engine and get the result set as a list. Please confirm if my JSON request is correct. Or is there any better way to achieve the same? Any help would be appreciated.

Thanks & Regards

1
As far as I remember, the kie-workbench, by default, expects XML payloads from your requests. Are you specifying in your headers that you are sending JSON? - Esteban Aliverti
Yes I am specifying it in header as: -H 'X-KIE-ContentType: JSON' -H 'Content-type: application/json' - Faiza Aslam

1 Answers

2
votes

you are using incorrect json request format. With JSON request payload no need to use ''batch-execution", remove that. And correct JSON request will look like as:

{
  "commands":[
         {
        "insert":{
           "out-identifier":"obj",
           "object":{
              "example.project4_91839699.Person":{
                 "firstName":"abc",
                 "lastName":"abc", 
                 "hourlyRate":22,
                 "wage":100    
              }
           }
        }
     },{
        "insert":{
           "out-identifier":"obj2",
           "object":{
              "example.project4_91839699.Person":{
                 "firstName":"xyz",
                 "lastName":"xyz", 
                 "hourlyRate":24,
                 "wage":100    
              }
           }
        }
     }
     {
        "fire-all-rules":""
     }
  ]

}