Hi D.M.,
vorstellbar, dass euer Problem mit impersonation zu tun hat, da mir nicht bekannt ist, wie die Webanwendung konfiguriert ist.
Als welcher User kommst du denn beim CRM an, wenn du vom Webpart den Request an den CRM-WS stellst? Evtl. ist es ja dann ein Konto, welches keine Rechte hat den WS des CRM zu konsumieren.
--> For ASP.NET applications, the default credentials are the user credentials of the logged-in user, or the user being impersonated.
Nur eine Idee zum Testen - bau dir mal ein deinem Webpart einen eigenen Credential-Cache und gib dem WS einen User an, der definitiv das CRM verwenden darf.
Code-Sample:
CredentialCache credentialCache = new CredentialCache();
NetworkCredential credentials = new NetworkCredential("thomas","thomaspass","crmdomain");
// Standard CRM Service Setup
service = new CrmService();
credentialCache.Add(new Uri(service.Url), "NTLM", credentials);
service.Credentials = credentialCache;
service.PreAuthenticate = true; // Get Current User Id
WhoAmIRequest userRequest = new WhoAmIRequest();
user = (WhoAmIResponse) service.Execute(userRequest);
Console.WriteLine("CRM Connection succeeded (" + service.Url + ").");
Console.WriteLine("BusinessUnitId:\t" + user.BusinessUnitId.ToString());
Console.WriteLine("UserId:\t" + user.UserId.ToString());
Gruß,
Thomas