2016-12-06 6 views
0

У меня есть небольшой проект, созданный на рабочем столе drools, развернутый на сервере KIE. Используя API-интерфейс остального, я могу вставлять факты, с соответствующими правилами. Однако правила, включенные в таблицы управляемых решений, не срабатывают. Вот пример запроса я хотел бы отправить на сервер KIE:Kie Server Руководствуется правилами таблиц Descision, которые не запускаются из REST API

<batch-execution lookup="defaultKieSession"> 
<insert out-identifier="applicant" return-object="true" entry-point="DEFAULT"> 
    <models.Applicant> 
     <timeEmployed>35</timeEmployed> 
     <employmentStatus>Contract</employmentStatus> 
     <violations>[]</violations> 
    </models.Applicant> 
</insert> 
<fire-all-rules/> 
</batch-execution> 

Все правила, что эти данные должны привести увольняют, для тех, которые включены в таблицу решений, за исключением.

Когда я запускаю тестовый сценарий с теми же данными, все правила, в том числе правил таблицы решений, в обжигают правильно: enter image description here Проблема, как представляется, связана с использованием API REST. Любые идеи относительно того, что я делаю неправильно?

Вот таблица в вопросе: enter image description here

Нарушение просто вызывает метод, который присоединяет ошибку в массив нарушений.

Внутри kmodule.xml У меня есть.

<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> 

Разъяснение Просто чтобы быть ясно, мои запросы правил пожарной от Ведомые ДХО, мой вопрос только с правилами в направляемой таблице правил. Например:

Учитывая правило: enter image description here

Если я отправить этот запрос: 1994-04-15 11: 03: 44-0000 1970-01-13 16:19:41 -0024 Контракт []

Это фрагмент ответа:

enter image description here

Эти данные должны также соответствовать правилу в gdst однако он не стрелял.

+0

Вы могли бы поделиться тем, как выглядит ваш dtable? А также содержимое вашего файла kmodule.xml. –

ответ

0

Пока мы не видим операторов условий в таблице, я думаю, что критерии не соответствуют ни одному из строк/правил таблицы решений.

Отображение входных данных в таблицу решений, мы можем видеть, что:

  1. Статус занятости является контракт, так что соответствует строке 1. В строках 3-11 это игнорируется, поэтому зависит от согласования остальные столбцы.
  2. Продолжительность занятости, вероятно, связана с временем, и она не соответствует равенству любой строки. Если оператор столбца равен>, он соответствует строкам 2-11. Если это <, то он соответствует строке 1.
  3. Категория вакансий игнорируется для строк 1 и 2 и не имеет видимого совпадающего значения на входе, поэтому строки 3-11 не совпадают.

На этой основе:

  • 3 говорит только строки 1 и 2 могут соответствовать
  • 1 говорит только строка 1 может соответствовать строкам 1 и 2
  • 2 неопределенно основано на том, что мы см.

Мое предположение, что строка 1 близка, но № 2 не соответствует.

+0

Извините. Я отредактировал изображение, чтобы показать условия. Я также разместил изображение выполненного тестового сценария. При использовании того же правила входной строки 1 запускается. Однако он не срабатывает, когда этот факт вставляется через REST API. –

+0

неверный идентификатор недействителен, правильный выход. Идентификатор. Работает ли это после исправления этого? – Jeff

+0

«out-identifier» кажется правильным, когда я пытаюсь «outIdentifier», объект не возвращается. –