Я пробую примеры проектов, чтобы понять, как использовать функции Optaplanner (используя версию 7.11-Final на wildfly11).Я установил несколько встроенных примеров и теперь столкнулся с очень странной ошибкой после использования измененного мной образца employee rostering
, когда я пытаюсь опубликовать другой xml через REST API (используя SOAP-UI).
Использованиеследующий xml (отрывок) работает хорошо, я могу без проблем отправить xml и получить лучшее решение, вызвав соответствующую конечную точку:
<TeamRoster>
<employeeList>
<Employee>
<name>Luigi</name>
</Employee>
<Employee>
<name>Mauro</name>
</Employee>
<Employee>
<name>Pietro</name>
</Employee>
<Employee>
<name>Gino</name>
</Employee>
</employeeList>
<teamList>
<Team>
<name>Squadra 1</name>
<employeeList>
<Employee reference="../../../../employeeList/Employee"/>
<Employee reference="../../../../employeeList/Employee[2]"/>
</employeeList>
.........
Вместо этого, используя следующий модифицированный xml (с идентификатором / ссылкой):
<TeamRoster id="1">
<employeeList id="2">
<Employee id="3">
<id>0</id>
<name>Luigi</name>
</Employee>
<Employee id="4">
<id>1</id>
<name>Mauro</name>
</Employee>
<Employee id="5">
<id>2</id>
<name>Pietro</name>
</Employee>
<Employee id="6">
<id>3</id>
<name>Gino</name>
</Employee>
</employeeList>
<teamList id="7">
<Team id="8">
<id>0</id>
<name>Squadra 1</name>
<employeeList id="9">
<Employee reference="3"/>
<Employee reference="4"/>
</employeeList>
Ответ сервера kie - это сообщение об ошибке:
com.thoughtworks.xstream.converters.ConversionException: Неверная ссылка
сподробнее:
message : Invalid reference
reference : 3
referenced-type : com.linkit.trostering.Employee
referenceable : true
class : java.util.ArrayList
required-type : java.util.ArrayList
converter-type : com.thoughtworks.xstream.converters.collections.CollectionConverter
path : /TeamRoster/teamList/Team/employeeList/Employee
line number : 25
class[1] : com.linkit.trostering.Team
converter-type[1] : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2] : com.linkit.trostering.TeamRoster
version : 7.11.0.Final
Я видел, что другие примеры, включенные в проект примеров optaplanner, используют эту опцию (если я понимаю, что это функция xtream), чтобы ссылаться на факт, уже определенный с использованием id вместо пути xml.
Теперь я сомневаюсь, что Optaplanner wb с сервером kie поставляется с другими настройками xstream?Есть ли какая-либо опция, которую необходимо отправить через REST, чтобы использовать эту функцию xtream?Любая другая вещь?
Заранее спасибо за любую помощь, которая очень ценится