我正在尝试通过 KIE 执行服务器 (kie-server-7.17.0.Final-ee7.war) 执行使用 Drools Workbench (business-central-7.17.0.Final-wildfly14.war) 编写的规则,我当我使用 Postman、REST 客户端执行规则时,没有得到预期的响应。
我试过设置请求头“ X-KIE-ContentType XSTREAM
”,设置有效负载标签<insert out-identifier="Employee" return-object="true" entry-point="DEFAULT">
在哪里out-identifier="Employee"
。
请求有效载荷
<batch-execution lookup="TestBaseSession">
<insert out-identifier="Employee" return-object="true" entry-point="DEFAULT">
<com.test.Employee>
<iEmpId>27</iEmpId>
<strName></strName>
</com.test.Employee>
</insert>
<fire-all-rules/>
</batch-execution>
规则文件
package com.test;
import com.test.Employee;
//This is the first rule
rule "001"
when
emp : Employee(iEmpId==27)
then
emp.setStrName("FooBar");
insert(emp);
//System.out.println("DDDDD");
end
我希望输出如下所示(或类似),
<response type="SUCCESS" msg="Container Test_1.0.0 successfully called.">
<result class="execution-results">
<result identifier="Employee">
<com.test.Employee>
<iEmpId>27</iEmpId>
<strName>FooBar</strName>
</com.test.Employee>
</result>
<fact-handle identifier="Employee" external-form="0:1:850421248:850421248:1:DEFAULT:NON_TRAIT:com.test.Employee"/>
</result>
</response>
但是我没有得到预期的结果,Wildfly 控制台中也没有打印 System.out 消息,这表明该规则没有执行?任何建议都会非常有帮助。