#asp.net-mvc #dynamics-crm #dynamics-crm-365
#asp.net-mvc #dynamics-crm #dynamics-crm-365
Вопрос:
Мне нужно изменить существующий код для подключения к Microsoft Dynamics 365 вместо локальной установки. В настоящее время я использую Microsoft.Xrm.Tooling.Соединитель и мы хотим сохранить это, чтобы влияние на код было как можно ниже.
Итак, я обновил свою строку подключения, чтобы использовать следующий формат: AuthType=clientSecret;url= https: //xxx.dynamics.com;ClientID= xxx; clientSecret = xxx;
Я обновил пакет nuget Microsoft.CrmSdk.XrmTooling.Сборка ядра до последней версии 9.1.0.64. Другие связанные пакеты были обновлены одновременно.
Код, который я использую:
var client = new CrmServiceClient(connstring);
К сожалению, это не работает в моем .net 4.7.1 web.app
Я получаю следующие ошибки:
currentAccessToken = ‘currentAccessToken’ выдало исключение типа ‘System.NullReferenceException’
LastCrmError = «Произошла одна или несколько ошибок. => При отправке запроса произошла ошибка. => Не удается подключиться к удаленному серверу => Попытка подключения завершилась неудачно, поскольку подключенная сторона не ответила должным образом по истечении определенного периода времени или установила fai соединения … »
Я также уже пытался добавить следующую строку, но ошибка остается:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Чтобы убедиться, что это не связано с моим существующим веб-приложением, я запустил новый проект и включил новое веб-приложение (mvc) и новое консольное приложение. Даже в этом новом проекте веб-приложение не работает, но консольное приложение работает.
Разница, которую я вижу, заключается в том, что для CrmConnectOrgUriActual консольное приложение содержит XRMServices/2011/Organization.svc/web?SDKClientVersion=9.0.45.2156, но в веб-приложении это только XRMServices/2011/Organization.svc/
Возможно, есть что-то дополнительное, что необходимо настроить в веб-приложении? Может ли кто-нибудь помочь мне с этим?
Обновить
Я смог увидеть больше сообщения об ошибке, и в нем упоминалось также следующее сообщение: AuthorityUnable для подключения к CRM: нужен непустой авторитет
Ответ №1:
Я выполнил новый поиск по запросу «Нужны непустые полномочия» на основе полных сведений об ошибке. Одним из результатов была следующая статья: https://www.kashanahmed.com/2020/06/we-were-trying-to-connect-dynamics-365.html
Похоже, что моя проблема была вызвана прокси-сервером нашей компании.
Добавление следующих строк в web.config решило мою проблему
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="True" proxyaddress="http://theproxy" />
</defaultProxy>
</system.net>