我遇到了一个问题,我试图使用 REST API 调用 drools,并且作为我的加载的一部分,我正在传递主数据对象,以及将作为我的响应对象的第二个数据对象。因此,我们的想法是在工作内存中有一个可以更新的空响应对象。我的 XML 看起来像这样:
<batch-execution lookup="defaultStatelessKieSession">
<insert out-identifier="RequestData" return-object="true" entry-point="DEFAULT">
<com.test.package.RequestData>
<fieldOne>ValueOne</fieldOne>
<fieldTwo>ValueTwo</fieldTwo>
<fieldThree>ValueThree</fieldThree>
</com.test.package.RequestData>
</insert>
<insert out-identifier="ResponseData" return-object="false" entry-point="DEFAULT">
<com.test.package.ResponseData>
<ruleResults></ruleResults>
<responseList></responseList>
</com.test.package.ResponseData>
</insert>
<fire-all-rules />
<query name="rulesResponses" out-identifier="rulesResponses" />
</batch-execution>
其中,在我的数据对象“responseList”中定义为:
private java.util.List<java.lang.String> responseList
因为它被定义为一个列表,所以在尝试调用 API 时出现以下错误:
<org.kie.server.api.model.ServiceResponse>
<type>FAILURE</type>
<msg>Error calling container TestContainer: No such field com.test.package.ResponseData.responseList
</org.kie.server.api.model.ServiceResponse>
所以,我的问题是......
如何在请求有效负载中正确表示我的 List 属性,以便它正确实例化响应对象而不是引发此错误?
任何帮助将不胜感激。
谢谢。