20.02.2012, 13:50 | #1 |
Участник
|
не выполняется Execute():
Написал плагин workflow. В crm стандартная ошибка. В дебаггере, в метод execute() даже не запрыгивает(только проходит по вх\вых свойствам). В консольном режиме моя часть программы работает.
Код: [CrmWorkflowActivity("Разобрать письмо")] public partial class SitronicsMailParserClass : SequenceActivity { protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { try { //получаем контекст и crmService IContextService ContextService = (IContextService)executionContext.GetService(typeof(IContextService)); IWorkflowContext wcontext = ContextService.Context; ICrmService crmService = wcontext.CreateCrmService(); //Тело входящего письма. Если не указано, то выходим HtmlWeb webDoc = new HtmlWeb(); HtmlDocument email = new HtmlDocument(); email = webDoc.Load(this.EmailBody); //сюда передаем URL письма из Бизнес Процесса CRM var check = email.DocumentNode.SelectNodes("//table[@class='headertop1']/tr"); if (CheckMail(check)) { var NodeCollection = email.DocumentNode.SelectNodes("//table[@class='content']/tr"); if (NodeCollection != null) { outputPriority = GetPriority(NodeCollection); outputTitle = GetTitle(NodeCollection); outputDescription = GetDescription(NodeCollection); outputDate = GetDate(NodeCollection); } } } catch (Exception ex) { throw new InvalidPluginExecutionException(ex.Message); } return base.Execute(executionContext); } // далее описаны функциии парсера, а также входные и выходные параметры // которые, как мне кажется, не имеют отношения к проблеме |
|
20.02.2012, 16:58 | #2 |
Чайный пьяница
|
Такое иногда бывает. Попробуйте перезапустить иис и AsyncService.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
20.02.2012, 17:13 | #3 |
Участник
|
Пробовал, не помогает. Пробовал на разных серверах(4ках), на которых запущены идентичные парсеры, но все равно не работает.
|
|
20.02.2012, 22:50 | #4 |
Участник
|
А сборка подписана?
|
|
21.02.2012, 11:12 | #5 |
Участник
|
|
|
21.02.2012, 11:56 | #6 |
Участник
|
Все-таки плагин и программный шаг бизнес-процесса это разные вещи. Вы точно его правильно зарегистрировали?
И еще вспомнил, что с шагами бизнес-процессов иногда что-то глючит. После чего помогала смена namespace и имени класса в проекте, а затем повторная регистрация сборки в CRM. И плюс, после обновления dll, надо бы отменить публикацию бизнес-процесса, а потом его заново опубликовать. |
|
21.02.2012, 12:10 | #7 |
Участник
|
Точно. Плюс на одном из серверов регистрировал другой человек.
Цитата:
Всегда так делаю плюс iisreset и рестарт асинхронного сервиса. |
|
24.02.2012, 18:42 | #8 |
Участник
|
UPD
Заметил, что если убрать весь код в execute и оставить только получение CrmServise, то все работает.Если теперь добавить следующую строчку Код: HtmlWeb webDoc = new HtmlWeb(); |
|
|
|