6

由於對CRM很少了解,我們的任務是公佈CRM 2011中的數據和其他功能。我們開發了一個RESTful包裝器,允許其他開發人員在其應用程序中使用它。一些示例端點可能是:將Dynamics CRM從2011年升級到2016年

API/v2/Accounts(someguid) 
API/v2/Lead/Create {json object} 
etc 

此應用程序需要升級,以支持動態2016年我們解僱了我們2011年的應用程序,只是改變一個配置變量指向2016年的實例。到目前爲止,我們還沒有能夠做任何事情,因爲下面第二行之後:

 var context = new XrmServiceContext(_organizationService); 

     var crmUser = (from systemUser in context.SystemUserSet 
         where systemUser.DomainName == user.DomainUserName 
         select systemUser).FirstOrDefault(); 

我得到驗證失敗例外:

enter image description here

這確實是一個已知的身份驗證問題時從11升級到16,還是我錯過了什麼?

+2

請分享您用於獲取_organizationService的代碼,因爲問題應該在那裏。您是否也對IFD配置等CRM配置做過任何更改?還有,您是否將用於CRM的用戶稱爲CRM用戶?換句話說 - 你還能使用這個用戶訪問CRM嗎? –

+1

在CRM 2011和CRM 2016 SP1之間進行身份驗證時,服務器的響應存在細微差異,但一旦更新了DLL,您應該可以進行身份​​驗證。如上所示,請分享您的代碼 – jasonscript

+0

@jasonscript更新哪些DLLs?你的意思是sdk?如果是這樣,我該怎麼做? –

回答

5

客戶關係管理2011和2016之間已經有無數的身份驗證變更。SDK應該可以無縫地爲您處理所有這些問題。

https://www.microsoft.com/en-us/download/details.aspx?id=50032下載最新版本,並更新您在項目中引用的任何Microsoft.Xrm。* dll。

如果您使用的NuGet,你可以添加這些來代替:

  • Microsoft.CrmSdk.Extensions(7.1.0.1 - 這包含舊的連接方法,CRM將要離開,但對。現在仍然兼容)
  • Microsoft.CrmSdk.Deployment(8.2.0.2)
  • Microsoft.CrmSdk.Workflow(8.2.0.0) - >這個實際上應該是可選的。

一旦你更新了引用,重建和重試。