Как узнать, какие правила в политике BRE не выполнены?
Я следую примеру программы из CodeProject, в которой приведены некоторые примеры использования BizTalk BRE для проверки некоторых правил. Я прекрасно выполнил пример и нахожусь в процессе создания службы WCF, чтобы позволить пользователям тестировать объект с удаленного сервера. Проблема в том, что я хочу знать, ПОЧЕМУ элемент вышел из строя и по какому правилу он вышел из строя.
В указанном образце есть объект-заявитель. Правила гласят, что если заявителю от 18 до 36 лет, а сумма кредита меньше или равна 20000, то утвердите заявку. Есть и другие правила, которые дают статус риска.
Я хочу знать, почему заявитель нарушил правила. Допустим, заявителю 39 лет. Есть ли способ узнать, какой предикат не удался?
Нужно ли мне реализовывать какой-то специальный трекер-перехватчик?
Я использую BizTalk 2013, если это имеет какое-то значение, хотя я не видел большой разницы в BRE от версии к версии.
1 ответ
Во-первых, вы правы в том, что BRE практически не изменился в BizTalk Server 2013.
Да, для того, что вы ищете, да, вам потребуется реализовать отслеживающий перехватчик, который будет регистрировать шаги выполнения политики, включая оценки правил.
Однако вы должны создать только свой собственный отслеживающий перехватчик для выполнения политик в пользовательском коде. BizTalk Server уже предоставляет отслеживающий перехватчик при выполнении политик с формой правил вызова. Журнал этих политик доступен в потоке сообщений экземпляра оркестровки в BizTalk Administrator.
Сначала вы должны включить отслеживание политики в узле Policies вашего приложения.