It took me a while to get this working because I was using the wrong endpoint, D'oh, and the wrong type of credentials, double D'oh.
In any case, here it is for posterity:
public class IFDCrmService
{
const string ServiceUrl = "https://{0}/XRMServices/2011/Organization.svc";
public static IOrganizationService GetIFDCrmService()
{
ClientCredentials credentials = new ClientCredentials();
credentials.UserName.UserName = ConfigurationManager.AppSettings["UserName"];
credentials.UserName.Password = ConfigurationManager.AppSettings["Password"];
if (ConfigurationManager.AppSettings["FQDN"] == null) { throw new ArgumentNullException("FQDN key missing."); }
string fqdn = ConfigurationManager.AppSettings["FQDN"];
return new OrganizationServiceProxy(new Uri(string.Format(ServiceUrl, fqdn)), null, credentials, null);
}
}
The relevant part of the app.config is below:
<appSettings>
<add key="UserName" value="dev\crmapppool" />
<add key="Password" value="P@55w0rd1" />
<add key="FQDN" value="crmdev.dev.com"/>
</appSettings>
It's always a good idea to encrypt the passwords but I won't discuss this today here.
No comments:
Post a Comment