Механизм правил BizTalk не запускает действия, несмотря на выполнение условий

У меня есть оркестровка в BizTalk, в которой есть форма CallRules. Оркестровка вела себя не так, как ожидалось, и я сузил проблему до Business Rules Engine (BRE).

Я использовал функцию Test Policy в Business Rules Composer и дал ему экземпляр сообщения. BRE оценил правила, и при изучении результатов выяснилось, что одно из правил было полностью выполнено. Каждое из условий в этом правиле было оценено как истинное, но действия не были применены к моему сообщению.

Я не мог понять, почему это должно быть - если условия соблюдены, почему действия не применяются ?!


person Sir Crispalot    schedule 24.11.2011    source источник


Ответы (1)


Оказывается, для этого потребовалась новая запись в реестре, чтобы разрешить вызов статических членов класса .NET в BRE.

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

Для 64-разрядной установки ключ можно найти в HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ BusinessRules \ 3.0, а не в пути, указанном в MSDN.

Я не уверен, почему BRE не предупреждает о невозможности выполнения определенных действий - это было бы очень полезно.

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

person Sir Crispalot    schedule 24.11.2011