BizTalk запрещает запускать движок, несмотря на соблюдение условий - PullRequest
2 голосов
/ 24 ноября 2011

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

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

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

1 Ответ

6 голосов
/ 24 ноября 2011

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

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

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

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

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

...