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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.08.2014, 16:21   #1  
Eugene.Ostroukhov is offline
Eugene.Ostroukhov
Участник
 
149 / 11 (1) +
Регистрация: 22.02.2013
WinService -> Crm 2011 (IFD)
всем привет!

у меня есть windows service, который по расписанию запускает (назовем) плагины-сервисы,
типа шедулер, наподобие AsyncService с бизнес-логикой, в каждом плагине - своя. плагин - просто dll-ка, class library с кодом

в каждый плагин (ThreadPool + поток с dll-кой) отдается параметром экземпляр IOrganizationService (OrgServProxy который).

Код:
public static IOrganizationService OrganizationServiceAdmin
        {
            get
            {
                ClientCredentials credentials = new ClientCredentials();
                credentials.UserName.UserName = ConfigurationManager.AppSettings["CrmUserLogin"];
                credentials.UserName.Password = ConfigurationManager.AppSettings["CrmUserPassword"];

                var s = new OrganizationServiceProxy(new Uri(ConfigurationManager.AppSettings["CrmServiceUrl"]),
                                             null,
                                             credentials,
                                             null
                    );
                return s;
            }
        }
на СРМе настроен IFD.

Стартуем винсервис, он загружает сборки своих плагинов и выстраевает очередь на запуск (через упомянутый ThreadPool).
Пока "мучаюсь" - плагин всего один.

Первый старт (приведу логи):
Цитата:
2014-08-07 16:16:26,725 INFO : 07.08.2014 16:16:26 Запуск плагина по расписанию SPingBusPlugin
2014-08-07 16:16:27,365 INFO : 07.08.2014 16:16:27 Завершение плагина SPingBusPlugin, статус: True, сообщение: Обработанно: 07.08.2014 16:16:27
Второй старт через 20 секунд (настроено для быстрой отладки, обычно интервал намного больше)
Цитата:
2014-08-07 16:16:47,365 INFO : 07.08.2014 16:16:47 Запуск плагина по расписанию SPingBusPlugin
2014-08-07 16:17:47,491 ERROR : Ошибка в процессе обработки плагина SPingBusPlugin : Metadata contains a reference that cannot be resolved: 'https://{org}.{domain}/XRMServices/2011/Organization.svc?wsdl'.
2014-08-07 16:17:47,491 ERROR : Процесс обработки плагина SPingBusPlugin будет остановлен!
2014-08-07 16:17:47,491 ERROR : Исключение:
System.InvalidOperationException: Metadata contains a reference that cannot be resolved: 'https://{org}.{domain}/XRMServices/2011/Organization.svc?wsdl'. ---> System.Net.WebException: The operation has timed out
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Description.MetadataExchangeClient.MetadataLocationRetriever.DownloadMetadata(TimeoutHelper timeoutHelper)
at System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper timeoutHelper)
--- End of inner exception stack trace ---
at System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper timeoutHelper)
at System.ServiceModel.Description.MetadataExchangeClient.ResolveNext(ResolveCallState resolveCallState)
at System.ServiceModel.Description.MetadataExchangeClient.GetMetadata(MetadataRetriever retriever)
at Microsoft.Xrm.Sdk.Client.ServiceMetadataUtility.RetrieveServiceEndpointMetadata(Type contractType, Uri serviceUri, Boolean checkForSecondary)
at Microsoft.Xrm.Sdk.Client.ServiceConfiguration`1..ctor(Uri serviceUri, Boolean checkForSecondary)
at Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration..ctor(Uri serviceUri)
at Microsoft.Xrm.Sdk.Client.ServiceConfigurationFactory.CreateConfiguration[TService](Uri serviceUri)
at Microsoft.Xrm.Sdk.Client.ServiceProxy`1..ctor(Uri uri, Uri homeRealmUri, ClientCredentials clientCredentials, ClientCredentials deviceCredentials)
at ......get_OrganizationServiceAdmin() in d:\job\......cs:line 450
ну и вопрос очевиден:
почему второй проход не может зарезолвить ссылку на сервис Organization.svc?

add:
может ли это быть связано как-то с переделками в районе DNS/WINS серверов в AD?

Последний раз редактировалось Eugene.Ostroukhov; 07.08.2014 в 16:46.
Старый 08.08.2014, 09:35   #2  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Ответ очевиден! Нужно подключиться Remote Debugger к процессу вашей службы и отладить ее! Обычно это помогает выявить причину не отгадывая.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 08.08.2014, 09:40   #3  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Да, чуть не забыл. По куску кода, который вы привели сложно понять что происходит в вашем классе, однако есть ощущение, что вы используете один статический инстанс прокси сервиса CRM для всех подключений. Вы сказали, что у вас IFD, поэтому вам необходимо позаботится об обновлении токена. По умолчанию он живет всего час, но по многочисленным просьбам своих пользователей я увеличил время жизни до 8 часов для внутреннего адреса.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 08.08.2014, 10:07   #4  
Eugene.Ostroukhov is offline
Eugene.Ostroukhov
Участник
 
149 / 11 (1) +
Регистрация: 22.02.2013
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Да, чуть не забыл. По куску кода, который вы привели сложно понять что происходит в вашем классе, однако есть ощущение, что вы используете один статический инстанс прокси сервиса CRM для всех подключений. Вы сказали, что у вас IFD, поэтому вам необходимо позаботится об обновлении токена. По умолчанию он живет всего час, но по многочисленным просьбам своих пользователей я увеличил время жизни до 8 часов для внутреннего адреса.
и в дебаггере, и по логам:
падает на конструкторе OrganizationServiceProxy\
var s = new OrganizationServiceProxy

да, мы тоже увеличили в АДФС жизнь токенов до 8 часов
Старый 08.08.2014, 10:53   #5  
Eugene.Ostroukhov is offline
Eugene.Ostroukhov
Участник
 
149 / 11 (1) +
Регистрация: 22.02.2013
сменил учетку под которой работает винсервис - и все ок.
странная ботва....
Старый 12.08.2014, 10:28   #6  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Интересно с какой на какую? У меня были аналогичные проблемы в IIS, но там это было связано с возможностями локального входа и имперсонации, которые были заблокированы администраторами в целях безопасности.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 12.08.2014, 10:55   #7  
Eugene.Ostroukhov is offline
Eugene.Ostroukhov
Участник
 
149 / 11 (1) +
Регистрация: 22.02.2013
есть пара доменных учеток, которые созданы для работы as admin в СРМ (сервисные учетки типа).
вот с одной из них на свою доменную.

как это работало раньше - не очень представляю. либо админы что-то нахимичили в AD, и как обычно не говорят.

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

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 15 Blog bot Dynamics CRM: Blogs 1 10.02.2016 10:26
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 17 Blog bot Dynamics CRM: Blogs 0 10.05.2014 06:30
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 16 Blog bot Dynamics CRM: Blogs 0 23.01.2014 03:15
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 14 Blog bot Dynamics CRM: Blogs 0 12.07.2013 07:13
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 10 Blog bot Dynamics CRM: Blogs 0 17.08.2012 03:27
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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