使用包含列表的数据对象调用 drools REST API 时出错
Error calling drools REST API with data object contains a list
我 运行 遇到了一个问题,我试图使用 REST API 调用 drools,作为我的 layload 的一部分,我传递了主要数据对象,外加第二个数据对象数据对象,这将是我的响应对象。所以,我的想法是在我可以更新的工作内存中有一个空的响应对象。我的 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 属性,以便它正确实例化响应对象而不是抛出此错误?
如有任何帮助,我们将不胜感激。
谢谢。
这不再是问题,因为我们走了不同的路。
将问题标记为已回答。
我 运行 遇到了一个问题,我试图使用 REST API 调用 drools,作为我的 layload 的一部分,我传递了主要数据对象,外加第二个数据对象数据对象,这将是我的响应对象。所以,我的想法是在我可以更新的工作内存中有一个空的响应对象。我的 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 属性,以便它正确实例化响应对象而不是抛出此错误?
如有任何帮助,我们将不胜感激。
谢谢。
这不再是问题,因为我们走了不同的路。
将问题标记为已回答。