0

我们参考了文档“ https://docs.jboss.org/drools/release/6.4.0.CR2/drools-docs/html/ch22.html ”来执行 kie 服务器中的规则。我们使用了以下步骤

对指定的 Container 执行操作和命令。您可以在 POST 请求的正文中向该容器发送命令。例如,要为 id 为 MyRESTContainer ( http://SERVER:PORT/CONTEXT/services/rest/server/containers/instances/MyRESTContainer ) 的 Container 触发所有规则,您可以向其发送 fire-all-rules 命令,如图所示下面(在 POST 请求的正文中):

示例 22.9。触发所有规则的示例服务器请求

但是我们没有得到服务器的任何响应。

    package com.myspace.test;

function String hello(String name){ 
  return "Hello " + name; 
}

function boolean isNameJoJo(String name){ 
  if(name == "Jo-Jo") 
    return true; 
  else 
    return false; 
}

    rule "Call function directly" 
    when 
  eval(isNameJoJo("Jo-Jo")) 
then 
 hello("isNameJoJo is true");
end

rule "Hello World Using A function defined in the DRL"
    when
    then
     hello("Georgina");

end

输出

  {
  "type" : "SUCCESS",
  "msg" : "Container test_2.0.0 successfully called.",
   "result" : {
    "execution-results" : {
      "results" : [ {
        "value" : 0,
        "key" : "Hello World Using A function defined in the DRL"
      } ],
       "facts" : [ ]
     }
   }
 }

其实我想要规则的输出。即“你好乔治娜”;

任何人都可以对此有任何想法。

感谢您的宝贵想法。

4

1 回答 1

0

试试这个作为发布请求的主体

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <fire-all-rules max="-1"/>
于 2018-09-12T19:13:40.467 回答