我刚刚安装了 RedHat Decision Manager 7.3,可以部署决策服务。到目前为止,我一直在使用/server/containers/instances/{containerId}
端点来调用我的服务,其中有效负载列出了将对象插入工作内存的命令。
但是,这是一个有状态会话,我正在尝试弄清楚如何使用无状态会话来调用决策服务。该文档完全不清楚如何通过 REST API 执行此操作,但如果您使用的是 Java API(除非我遗漏了某些内容),则有很多示例。
有没有人有任何关于如何通过 REST 做到这一点的例子?
任何帮助都将不胜感激。
更新 首先我的意思是版本 7.3 而不是 7.4,但文档看起来是一样的。
所以看起来我不在一百万英里之外,从提供的文档中看起来我需要在lookup
参数中指定一个会话 ID,所以我的请求将是这样的:
{
"lookup": "mysession",
"commands": [
{
"insert": {
"object": {
"com.indecision.baggage.Result": {}
},
"return-object": true,
"out-identifier": "results"
}
},
{
"insert": {
"object": {
"com.indecision.baggage.Booking": {
"fareClass": "First",
"baggageItems": [
{
"com.indecision.baggage.BaggageItem": {
"width": 100,
"height": 100,
"depth": 100,
"weight": 20
}
}
]
}
},
"return-object": true,
"out-identifier": "booking"
}
},
{
"insert": {
"object": {
"com.indecision.baggage.FlightInformation": {
"currentWeight": 100000,
"flightNumber": "IA001",
"maxOperatingWeight": 200000
}
},
"return-object": true,
"out-identifier": "flightInfo"
}
},
{
"fire-all-rules": {
"out-identifier": "firedActivations"
}
}
]
}
但是,当我发送请求时,我收到以下错误消息:
{
"type": "FAILURE",
"msg": "Error calling container Indecision-Airlines-Baggage-Fee-Calculator: Session 'mysession' not found on container 'Indecision-Airlines-Baggage-Fee-Calculator_1.0.0-SNAPSHOT'.",
"result": null
}
现在在 RH Business Central 中的服务器配置下,您可以为决策服务指定会话 ID,但无论我尝试什么,“保存”按钮始终是灰色的。所以我的第一个问题是关于为什么或如何启用此配置的设置的任何想法?
我的第二个问题是,如果必须预先定义会话 ID,那么这些服务真的不能在多个请求中真正实现无状态吗?正如我所看到的,他们需要预先指定他们想要在哪个会话 ID 下执行,而不是 KIE 引擎为他们创建新会话的新请求。还是我弄错了?
再次提前感谢任何答案。