CRM 365 возвращает CommunicationException при каждом вызове

У меня есть служба, которая вызывает CRM 365. Аутентификация выполняется с помощью OAuth соответственно. токен-носитель. Это работало как шарм, но внезапно на каждый вызов бросается сообщение CommunicationException. Возможно, это связано с обновлением версии CRM до версии v9.

Вот как я создаю свой IOrganizationService :

var crmProxy = new OrganizationWebProxyClient(serviceUri, false)
                   {
                       HeaderToken = bearerToken
                   };

где serviceUri - это что-то вроде https://mydomain.crm.dynamics.com/xrmservices/2011/organization.svc/web?SdkClientVersion=9.0.0.0

Когда я делаю вызов против этого прокси (например, ExecuteRequest или RetrieveMultiple ), сообщение CommunicationException выдается со следующим сообщением:

System.ServiceModel.CommunicationException: Произошла ошибка при отправке запроса HTTP на https://mydomain.crm.dynamics.com/xrmservices/2011/organization.svc/web?SdkClientVersion=9.0.0.0 . Это может быть связано с тем, что сертификат сервера не настроен должным образом с HTTP.SYS в случае HTTPS. Это также может быть вызвано несоответствием привязки безопасности между клиентом и сервером. ---> System.Net.WebException: базовое соединение было закрыто: при отправке произошла непредвиденная ошибка. ---> System.IO.IOException: невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом. ---> System.Net.Sockets.SocketException: существующее соединение было принудительно закрыто удаленным хостом

Я уже обновил сборку CRM SDK до версии 9.0.2.4. Все еще не работает.

Что я могу сделать?

oauth-2.0,dynamics-crm,dynamics-crm-365,

1

Ответов: 1


0 принят

Я нашел решение.

Dynamics 365 v9.0 обеспечивает TLS 1.2. Чтобы обеспечить соблюдение TLS 1.2 в приложении, перед выполнением запросов необходимо вызвать следующее:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

В качестве альтернативы вы можете переключиться на .Net 4.6 или выше. В этих версиях по умолчанию используется TLS 1.2.

OAuth-2.0, динамика-УРК, динамика-УРК-365,
Похожие вопросы
Яндекс.Метрика