我正在尝试使用C#代码连接到Dynamics 365。
下面是我的连接逻辑代码:
public static CrmServiceClient InitializeClient(string connstr)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
var crmclient = new CrmServiceClient(connstr);
// ERROR IS THROWN IF CONNECTION FAILS
if (!crmclient.IsReady)
{
throw new Exception(crmclient.LastCrmError);
}
return crmclient;
}
我使用的是Microsoft Dynamics365 8.2版。
下面是连接字符串:
AuthType=Office365;Server=https://compagny.name/organizationname; Domain=domain; Username=username; Password=password
但我总是得到以下错误:
无法登录Dynamics CRM OrganizationWebProxyClient为空
有人能帮忙吗
谢谢
3条答案
按热度按时间9gm1akwq1#
您正在使用Office365身份验证。它依赖于WS-Trust,并且您公司网络上的ADFS配置可能会导致此处出现问题。
不再推荐使用WS-Trust。切换到使用基于OAuth的连接字符串。
请参阅Use of Office365 authentication with Microsoft Dataverse - MS Learn和此公告:弃用用于连接到Dataverse的Office365身份验证类型和OrganizationServiceProxy类。
6yjfywim2#
尝试使用OAuth认证类型而不是Office365。这里是我的C#控制台应用程序的一个示例,它提供了一个ServiceClient来与Dynamics通信。
ServiceClient在Microsoft.PowerPlatform.Dataverse.Client库中可用。
以下是我在应用中如何使用它的完整示例:
soat7uwm3#
你可以用这个方法
一定要写;每个领域。