Я настроил новую виртуальную машину (MS Virtual Server под управлением Windows Server 2003) в качестве копии существующей виртуальной машины, на которой установлен сервер BizTalk 2006. У меня возникла проблема с обработкой BRE. Политика развернута и словарь опубликован точно так же, как на рабочей ВМ.
Оркестровка вызывает вспомогательный компонент, который, в свою очередь, использует компоненты BRE. Последняя строка в вспомогательном компоненте, который, кажется, выполняется:
Policy workflowPolicy = new Policy(policyName)
Я вставил трассировку стека из журнала событий ниже:
Exception type: InvalidCastException
Source: Microsoft.RuleEngine
Target Site: Int32 GetInt32(System.String, Int32)
The following is a stack trace that identifies the location where the exception occured
at Microsoft.RuleEngine.Configuration.GetInt32(String key, Int32 defaultValue)
at Microsoft.RuleEngine.ReteTranslator.RuleSetToReteTranslatorImpl.Translate(RuleSet ruleset, Int32 duration)
at Microsoft.RuleEngine.ReteTranslator.RuleSetToReteTranslator.Translate(RuleSet ruleset, Int32 duration)
at Microsoft.RuleEngine.RuleEngine..ctor(RuleSet ruleSet, Boolean doOptimizations)
at Microsoft.RuleEngine.RuleEngineCache.Allocate(String rulesetName, Int32 majorRevision, Int32 minorRevision, TrackingConfiguration& trackingConfig)
at Microsoft.RuleEngine.RuleEngineCache.Allocate(String rulesetName, TrackingConfiguration& trackingConfig)
at Microsoft.RuleEngine.Policy..ctor(String policyName)
at Tesco.BRE.Services.PolicyServices.Direct.OrderWorkflowServices.Commands.GetNextTaskList.Execute()
at Tesco.DataSources.Integration.Common.CommandBase.CommandDecorators.CommandLoggingDecorator`1.Execute()
at Tesco.DataSources.Integration.Common.CommandBase.CommandUtilities.GetCommandResponse[T](CommandBase`1 command)
at Tesco.BRE.Services.PolicyServices.Direct.OrderWorkflowServices.OrderWorkflowOperations.GetNextTaskList(String currentTaskName, String currentTaskStatus, XmlDocument order)
at Tesco.Direct.OrderManagement.Orchestrations.FollowTaskResult.segment2(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception&
Похоже, что Microsoft.RuleEngine.Configuration.GetInt32 передается значение, которое не может быть приведено к Int32?
Я попытался отменить / переконфигурировать BRE. Насколько я могу судить, все на новом сервере настроено именно так, как на рабочем сервере.
Любая помощь, с благодарностью получите - я застрял с этим весь день!