I need my website to connect to CRM this is my code
var organizationUri = new Uri(ConfigurationManager.AppSettings["CRMServerUrl"]);
//Client credentials
var credentials = new ClientCredentials();
credentials.UserName.UserName = @"<user>";
credentials.UserName.Password = "<password>";
// Use the Microsoft Dynamics CRM Online connection string from the web.config file named "CrmConnectionStr".
using (OrganizationServiceProxy _service = new OrganizationServiceProxy(organizationUri, null, credentials, null))
{
Response.Write("Connected");
}
and this is in my web.config
<add key="CRMServerUrl" value="http://XXXXX/XRMServices/2011/Organization.svc" />
<add key="username" value="<user>" />
<add key="password" value="<password>" />
it gives me this error message:
"A critical error has occurred. Unable to connect with CRM server. The caller was not authenticated by the service."
You should use the ►Simplified Connection provided by the ►Microsoft.Xrm.Client.CrmConnection type for an easier experience.
Steps are easy:
1) in the .config file add a connection string
<connectionStrings>
<add name="CrmConnStr" connectionString="!SEE EBELOW!"/>
</connectionStrings>
2) In code, it goes like this:
// parameter is the name of the connection string
// NOTE: These "setup" declarations are slow, reuse them as much as possibile
var connection = new CrmConnection("CrmConnStr");
var service = new OrganizationService(connection);
var context = new CrmOrganizationServiceContext(connection);
About the connection string, if On-Premise WITHOUT IFD it should be
"Url=http[s]://serverurl/organization; Domain=DOMAIN; Username=USERNAME; Password=PASSWORD"
<!-- https is always nice, but it's not mandatory in this case -->
If On-Premise WITH IFD or Online it should be
"Url=https://org.server.url; Username=USERNAME; Password=PASSWORD"
<!-- https is of course mandatory here -->
<!-- 'DOMAIN=...' part is not needed because of ADFS -->