CRM 2015 Онлайн-сервис OData

Каждый,

Я работаю над отображением данных crm только для чтения в sharepoint. Я следовал инструкциям на странице Develop1.net. Это означает, что я использовал WebAppWalkthrough из CRM 2015 SDK. Это отлично сработало, и данные появляются в моем приложении SharePoint. Но когда я создаю новый файл xrm.cs, чтобы получить доступ к своим настройкам, я получаю в своем браузере следующее:

Ошибка запроса

Я использовал включенный CrmSvcUtil.exeв SDK. Код, который я запустил для создания файла xrm.cs:

CrmSvcUtil.exe
/codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration" 
/out:"..\Xrm.cs" 
/url:https://<Org>.api.crm.dynamics.com/XRMServices/2011/Organization.svc 
/username:<user name> 
/password:<password>  
/namespace:Xrm 
/serviceContextName:XrmServiceContext 
/servicecontextprefix:Xrm

Это успешно создаст новый файл xrm.cs, но как только я обновлю свое решение и перестрою его, я получаю ошибку запроса в браузере. Я попробовал приведенный выше код с флагом /generateActions и даже зарегистрировал свой компьютер, используя Device Registration Tool, чтобы получить deviceid and devicepassword. Затем я добавил флаги the\deviceid and \devicepassword к приведенному выше коду. Снова файл создается без ошибок, но как только я добавляю его в решение, я получаю сообщение об ошибке.

Поэтому я подумал, что, возможно, это было что-то не так с WebAppWalkthrough. Я снова загрузил SDK и столкнулся с теми же проблемами. Поэтому я решил создать службу OData с нуля, следуя инструкциям на странице Майкрософт. Опять та же ошибка.

Мой код ничем не отличается от того, что можно найти в SDK или по ссылке Microsoft. Я не получаю ошибок сборки и ошибок в Visual Studio.


person James Studer    schedule 14.03.2016    source источник


Ответы (1)


Похоже, возникла проблема со способом генерации кода с помощью CrmSvcUtil.exe. Вот что я сделал, чтобы все заработало:

1)  I modified the WebAppWalkthrough file.  Basically I just deleted the .aspx pages since I don’t need them.
2)  I deleted the Xrm.cs file that is in the folder.
3)  I created a blank C# class file called Xrm.cs.
4)  I used a tool called XrmToolBox with a plugin called Early Bound Generator
    a.  I was able to create a separate .cs file for each entity including the XrmServiceContext.
5)  I manually copied the code from the opportunity file and the XrmServiceContext file into the blank Xrm.cs file.
6)  Anything that had an error in the new Xrm.cs file was deleted
7)  Added [assembly: Microsoft.Xrm.Sdk.Client.ProxyTypesAssemblyAttribute()] above the namespace.
8)  Added using Microsoft.Xrm.Portal.Web.Data.Services; inside the namespace.
person James Studer    schedule 16.03.2016
comment
Ранний подключаемый модуль генератора намного превосходит просто старый CrmSvcUtil. Рад, что ты разобрался. - person Polshgiant; 17.03.2016