Проблема с использованием crmsvcutil для генерации класса контекста данных - PullRequest
0 голосов
/ 19 мая 2011

Я пытаюсь получить данные из базы данных Microsoft Dynamics CRM.Чтобы получить функциональность LINQ, я применил crmsvcutil для генерации класса контекста данных.Ниже приведена командная строка, которую я использовал

crmsvcutil /connectionString:"Authentication Type=SPLA; Server= http://our-crm.com; User ID=user; Password=pass" /namespace:Stub.Xrm /dataContextPrefix:MyCorp /out:Xrm.cs

При выполнении команды я получил

Unhandled Exception: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.

Ошибка.Я смог получить доступ к http://our -crm.com , используя user / pass для оценки CRM.Я подозреваю, что проблема была в URL serer, но я не знаю точно, какой из них мне следует использовать.

Я использовал CRM-версию 4.0

ОБНОВЛЕНИЕ 19 мая, 2011: Я изменил строку подключения на

crmsvcutil /connectionString:"Authentication Type=AD; Server= http://our-crm.com/CRM; User ID=domain\user; Password=pass" /namespace:Stub.Xrm /dataContextPrefix:MyCorp /out:Xrm.cs

Теперь я получаю

Unhandled Exception: System.ApplicationException:   0x80040220
  SecLib::CheckPrivilege failed. Returned hr = -2147220960, User: f26255aa-997a-e011-b1ff-0050569e0924, PrivilegeId: a33
11f47-2134-44ee-a258-6774018d4bc3

Означает ли это, что у меня недостаточно прав для получения информации WSDL?Но я смог использовать браузер для получения http://our -crm.com / mscrmservices / 2007 / CrmServiceWsdl.aspx и смог добавить веб-ссылку на WebService, используя те же учетные данные.

1 Ответ

0 голосов
/ 19 мая 2011

Если вы обращаетесь к Dynamics CRM OnPremise с учетными данными текущего пользователя, вы должны указать Integrated в качестве типа аутентификации.

Поэтому строка подключения должна быть

/connectionString:"Authentication Type=Integrated; Server= http://our-crm.com; 

Если вам нужно указать конкретного пользователя, вы должны использовать AD

/connectionString:"Authentication Type=AD; Server= http://our-crm.com; User ID=user-domain\user-name; Password=user-password

См. Подключение к серверу Microsoft Dynamics CRM

...