AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2012, 13:50   #1  
ant0391 is offline
ant0391
Участник
 
5 / 10 (1) +
Регистрация: 20.02.2012
не выполняется 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  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Такое иногда бывает. Попробуйте перезапустить иис и AsyncService.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 20.02.2012, 17:13   #3  
ant0391 is offline
ant0391
Участник
 
5 / 10 (1) +
Регистрация: 20.02.2012
Пробовал, не помогает. Пробовал на разных серверах(4ках), на которых запущены идентичные парсеры, но все равно не работает.
Старый 20.02.2012, 22:50   #4  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
А сборка подписана?
Старый 21.02.2012, 11:12   #5  
ant0391 is offline
ant0391
Участник
 
5 / 10 (1) +
Регистрация: 20.02.2012
Цитата:
Сообщение от griefon Посмотреть сообщение
А сборка подписана?
да
Старый 21.02.2012, 11:56   #6  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Цитата:
Сообщение от ant0391 Посмотреть сообщение
Написал плагин workflow. [/CODE]
Все-таки плагин и программный шаг бизнес-процесса это разные вещи. Вы точно его правильно зарегистрировали?

И еще вспомнил, что с шагами бизнес-процессов иногда что-то глючит. После чего помогала смена namespace и имени класса в проекте, а затем повторная регистрация сборки в CRM.
И плюс, после обновления dll, надо бы отменить публикацию бизнес-процесса, а потом его заново опубликовать.
Старый 21.02.2012, 12:10   #7  
ant0391 is offline
ant0391
Участник
 
5 / 10 (1) +
Регистрация: 20.02.2012
Цитата:
Сообщение от griefon Посмотреть сообщение
Вы точно его правильно зарегистрировали?
Точно. Плюс на одном из серверов регистрировал другой человек.
Цитата:
Сообщение от griefon Посмотреть сообщение
помогала смена namespace и имени класса в проекте, а затем повторная регистрация сборки в CRM.
Тоже пробовал, не помогло.
Цитата:
Сообщение от griefon Посмотреть сообщение
надо бы отменить публикацию бизнес-процесса, а потом его заново опубликовать.
Всегда так делаю плюс iisreset и рестарт асинхронного сервиса.
Старый 24.02.2012, 18:42   #8  
ant0391 is offline
ant0391
Участник
 
5 / 10 (1) +
Регистрация: 20.02.2012
UPD
Заметил, что если убрать весь код в execute и оставить только получение CrmServise, то все работает.Если теперь добавить следующую строчку
Код:
HtmlWeb webDoc = new HtmlWeb();
то уже не работает. WTF??!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
избирательность сущьности в плагине на Execute u.rastegaev Dynamics CRM: Разработка 14 30.09.2010 12:20
Не выполняется отправка email в workflow activity _AV_ Dynamics CRM: Разработка 9 10.08.2010 18:37
Ошибка бизнес-процесса Tarasov E Dynamics CRM: Разработка 9 18.02.2010 14:02
Ronald Lemmen: Exception while trying to execute AsyncOperationId: The request failed with HTTP status 401: Unauthorized. Blog bot Dynamics CRM: Blogs 0 10.11.2009 21:05
Создание и регистрация плагина на Execute и Retreive a33ik Dynamics CRM: Разработка 7 30.11.2008 15:03

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:53.