ошибка 401 при вызове веб-сервиса crm4
-
21-08-2019 - |
Вопрос
У меня есть этот код, который работает в модульном тестировании, но не работает при выполнении в контексте плагина.Что делает код, так это пытается создать зацепку, вызывая веб-сервис crm4.
Когда плагин запускается, я получаю следующее исключение:"HTTP -статус 401:Несанкционированный"
Это код, который инициализирует экземпляр веб-сервиса
CrmAuthenticationToken token = new CrmAuthenticationToken();
token.AuthenticationType = 0;
token.OrganizationName = GetConfig("crm.organisation_name");
_crmService = new CrmService(GetConfig("webservice.crm"));
_crmService.CrmAuthenticationTokenValue = token;
_crmService.UseDefaultCredentials = false;
_crmService.PreAuthenticate = false;
_crmService.Credentials = new NetworkCredential(GetConfig("crm.user_username"),
GetConfig("crm.user_password"),
GetConfig("crm.user_domain"));
У кого-нибудь есть совет, что я могу попробовать дальше?Преимущество создается при запуске теста, и информация о конфигурации в модульном тестировании такая же, как и при запуске плагина приложением.
Решение
Вместо того, чтобы создавать экземпляр CrmService самостоятельно, в качестве альтернативы вы можете получить CrmService, получив ссылку на IPluginExecutionContext и вызвав метод CreateCrmService
Пожалуйста, обратитесь к этому Ссылка что касается создания CrmService из IPluginExecutionContext
Here is some code snippet
public void Execute(IPluginExecutionContext context)
{
// the below code means, the CrmService will be created
// by referring to the user account who is registered to
// run the CRM Application Pool
ICrmService crmService = context.CreateCrmService(false);
// the below code means, the CrmService will be created
// by taking account the user account who login and run
// the current plugin
ICrmService crmService = context.CreateCrmService(true);
// the below code means, the CrmService will be created
// by impersonating a valid user
ICrmService crmService = context.CreateCrmService(new Guid("3F2504E0-4F89-11D3-9A0C-0305E82C3301"));
}
С уважением,
hadi