|
|
#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);
}
// далее описаны функциии парсера, а также входные и выходные параметры
// которые, как мне кажется, не имеют отношения к проблеме |
|
|
|
|
#2 |
|
Чайный пьяница
|
Такое иногда бывает. Попробуйте перезапустить иис и AsyncService.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
|
|
#3 |
|
Участник
|
Пробовал, не помогает. Пробовал на разных серверах(4ках), на которых запущены идентичные парсеры, но все равно не работает.
|
|
|
|
|
#4 |
|
Участник
|
А сборка подписана?
|
|
|
|
|
#5 |
|
Участник
|
|
|
|
|
|
#6 |
|
Участник
|
Все-таки плагин и программный шаг бизнес-процесса это разные вещи. Вы точно его правильно зарегистрировали?
И еще вспомнил, что с шагами бизнес-процессов иногда что-то глючит. После чего помогала смена namespace и имени класса в проекте, а затем повторная регистрация сборки в CRM. И плюс, после обновления dll, надо бы отменить публикацию бизнес-процесса, а потом его заново опубликовать. |
|
|
|
|
#7 |
|
Участник
|
Точно. Плюс на одном из серверов регистрировал другой человек.
Цитата:
Всегда так делаю плюс iisreset и рестарт асинхронного сервиса. |
|
|
|
|
#8 |
|
Участник
|
UPD
Заметил, что если убрать весь код в execute и оставить только получение CrmServise, то все работает.Если теперь добавить следующую строчку Код: HtmlWeb webDoc = new HtmlWeb(); |
|
|
|
|
|