无法定位 DMN 决定评估

问题描述

如果我添加决策 ID 和决策名称来发布对 /server/containers/{containerId}/dmn 的请求,我会收到错误 "Unable to locate DMN Decision to evaluate"。当这些参数设置为 null 时,它适用于所有返回响应的决策。我只想过滤对主要决策规则的响应。有没有办法只针对单个决策 ID 获得响应

 "model-namespace": "https://kiegroup.org/dmn/_E565A249-313F-4A19-AF60-D25F1A7AFCEB","model-name": "Test Rules","decision-id": "_DFF31A1C-BC85-4B48-BB23-EEB0E55FD27D","decision-name": "Test All Rules",

解决方法

当您通过 REST API(例如 Kie-Server 以及 Kogito)评估 DMN 模型时,通常会返回完整的相关 DMN 上下文,其中包含原始输入以及结果决策节点。

通常,消费客户端应用程序通过 dmnresults 对象或直接在返回的上下文中过滤结果。

如果您使用 Kie Server Client (Java API),则按照 this document 中的说明为您提供开箱即用的服务。

或者,您可以使用新 REST API 的“下一代”决策服务强制功能,在这种情况下,您需要根据自己的要求定义决策服务。

使用 Kogito 时应参考 this document

使用 Kie-Server、Drools、Kie v7 时,请参考 this document

无论哪种情况,请参考 /{decisionServiceName} 的示例。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...