gpt4 book ai didi

java - 如何从 Rest 客户端将输入参数传递到 Jboss BRMS 规则

转载 作者:太空宇宙 更新时间:2023-11-04 12:17:12 25 4
gpt4 key购买 nike

我使用 Jboss BRMS 中的决策表创建了一个规则,并使用 kie-server 部署为 REST 服务。但找不到如何将参数传递给服务。

当我创建测试场景并执行规则服务时,它运行良好。

kie-container 显示的终点为
http://host:port/kie-server/services/rest/server/containers/container1

但我找不到如何使用 Rest 客户端(高级 Rest 客户端)将参数传递给服务。

我将此参数与请求一起发送,它给出了以下响应。

REQUEST

{
"commands":[
{
"insert":{
"out-identifier":"Customer",
"return-object":"true",
"object": {
"example.si.Customer":{
"time":3,
"age":70,
"gender":"MALE"
}
}
}
},
{
"fire-all-rules":""
}
]
}

>HEADERS
X-KIE-ContentType: JSON
Accept: application/json
Content-Type: application/json
authorization: Basic a2llc2VydmVyOmtpZXNlcnZlcjEh


>RESPONSE
{
"type": "SUCCESS"
"msg": "Container sinterest5 successfully called."
"result": "{ "results" : [ { "key" : "", "value" : 0 }, { "key" : "Customer", "value" : {"example.si.Customer":{ "time" : 3, "age" : 70, "interest" : null, "gender" : "MALE", "rate" : null, "amount" : null }} } ], "facts" : [ { "key" : "Customer", "value" : {"org.drools.core.common.DefaultFactHandle":{ "external-form" : "0:5:695977235:695977235:5:DEFAULT:NON_TRAIT:example.si.Customer" }} } ] }"
}



And my Rule is..


package Deciding_Rates;
//generated from Decision Table
import example.si.Customer;
function void interest(int time, int rate, int amount)
{System.out.println ( (time * rate * amount )/100 );System.out.println(System.currentTimeMillis());}
lock-on-active true
// rule values at C15, header at C10
rule "DecidingRate_15"
ruleflow-group "Rate"
when
$customer : Customer(Time< 5, Age>=65, Gender == "MALE")
then
modify($customer){setRate(10)};
System.out.println("Time < 5, Senior, Male");
interest($customer.getTime(), $customer.getRate(), 100);
end

// rule values at C16, header at C10
rule "DecidingRate_16"
ruleflow-group "Rate"
when
$customer : Customer(Time< 5, Age>=65, Gender == "FEMALE")
then
modify($customer){setRate(11)};
System.out.println("Time < 5, Senior, Female");
interest($customer.getTime(), $customer.getRate(), 100);
end

// rule values at C17, header at C10
rule "DecidingRate_17"
ruleflow-group "Rate"
when
$customer : Customer(Time< 5, Age<65, Gender == "MALE")
then
modify($customer){setRate(8)};
System.out.println("Time < 5, young, Male");
interest($customer.getTime(), $customer.getRate(), 100);
end

我在这里做错了什么吗? Sysout 在服务器日志中不可见。我不确定我的规则是否会被解雇。

最佳答案

关于java - 如何从 Rest 客户端将输入参数传递到 Jboss BRMS 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39263951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com