2017-08-03 110 views
0

我是新来的流口水。我想根据情况同时启动多个规则。 我使用批处理执行命令如下,但它给我的错误:“坏请求,要执行任何命令 - 无论是格式错误或没有数据”在引导决策表看起来Drools:通过REST同时执行多个规则

{ 
"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":{ 

      } 
     } 
    ] 
} 
} 

我的规则像this

我想做一个REST请求到规则引擎并得到结果集作为列表。 请确认我的JSON请求是否正确。或者有没有更好的方法来实现相同? 任何帮助,将不胜感激。

感谢&问候

+0

至于我记得,在纪伊,工作台,由默认情况下,需要来自请求的XML负载。您是否在您的头文件中指定要发送JSON? –

+0

是的我在头文件中指定它为:-H'X-KIE-ContentType:JSON'-H'Content-type:application/json' –

回答

0

您使用不正确的JSON请求格式。随着JSON请求负载没必要用'批处理执行”,删除,正确的JSON请求看起来就像是:

{ 
    "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":"" 
    } 
    ] 

}

+0

Thanks Abhijit。它工作正常。是否有可能返回列表而没有给出多个插入对象?如果我给isBlacklisted = false,那么它应该返回2个对象,请确认 –