Initializing and setting DefaultCrendentials for OrganizationService in CRM 2011

I created a simple windows application just to see how to make use of IOrganizationService within CRM 2011.

Here we need to add references to the following dlls

  1. Microsoft.Xrm.Sdk.
  2. System.ServiceModel.
  3. System.Runtime.Serialization.

This is the sample code

Uri organizationUri = new Uri("http://crmservername/orgname/XRMServices/2011/Organization.svc");
Uri homeRealmUri = null;
ClientCredentials credentials = new ClientCredentials();
// set default credentials for OrganizationService
credentials.Windows.ClientCredential = (NetworkCredential)CredentialCache.DefaultCredentials;
// or
credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
OrganizationServiceProxy orgProxy = new OrganizationServiceProxy(organizationUri, homeRealmUri, credentials, null);
IOrganizationService _service = (IOrganizationService)orgProxy;
try
{
    Entity myAccount = new Entity("account");
    myAccount["name"] = "Test Account";
    _service.Create(myAccount);
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}
}

Author: Nishant Rana

I love working in and sharing everything about Microsoft.NET technology !

1 thought on “Initializing and setting DefaultCrendentials for OrganizationService in CRM 2011”

  1. Hi
    default credentials in the sense it will take ur windows credentials. instead of that give the username,password and domain name for crm 2011. I had worked on sharepoint 2010 and crm integratiion. Here is my Sample code i had used.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using MSCRMBdcModel.CrmSdk;

    namespace MSCRMBdcModel.BdcModel1
    {
    ///
    /// All the methods for retrieving, updating and deleting data are implemented in this class file.
    /// The samples below show the finder and specific finder method for Entity1.
    ///
    public class AccountService
    {

    private static CrmService GetCRMService()
    {
    CrmAuthenticationToken token = new CrmAuthenticationToken();
    token.AuthenticationType = 0;
    token.OrganizationName = “Vertexcs”;

    CrmService service = new CrmService();
    service.Url = “http://192.168.1.200/mscrmservices/2007/crmservice.asmx”;
    service.CrmAuthenticationTokenValue = token;
    //service.Credentials = System.Net.CredentialCache.DefaultCredentials;
    service.Credentials = new System.Net.NetworkCredential(“uname”, “pwd”, “domain”);
    return service;
    }
    ///
    /// This is a sample specific finder method for Entity1. If you want to delete or rename the method think about changing the xml
    /// in the BDC model file as well.
    ///
    ///
    /// Entity1
    public static Account ReadItem(string id)
    {
    CrmService crmService = GetCRMService();
    ColumnSet cols = new ColumnSet()
    {
    Attributes = new string[] { “accountid”, “name”, “parentaccountid”, “address1_city”,
    “numberofemployees”,”creditonhold” }
    };

    account crmAccount = (account)crmService.Retrieve(EntityName.account.ToString(), new Guid(id), cols);

    Account acc = new Account();
    acc.AccountID = crmAccount.accountid.Value.ToString();
    acc.Name = crmAccount.name;
    acc.ParentAccount = (crmAccount.parentaccountid != null ? crmAccount.parentaccountid.name : string.Empty);
    acc.City = crmAccount.address1_city;
    acc.NoOfEmployees = (crmAccount.numberofemployees != null ? crmAccount.numberofemployees.Value : 0);
    acc.CreditHold = (crmAccount.creditonhold != null ? crmAccount.creditonhold.Value : false);

    return acc;
    }
    ///
    /// This is a sample specific method for Entity1. If you want to delete or rename the method think about changing the xml
    /// in the BDC model file as well.
    ///
    /// IEnumerable of Entity1
    public static IEnumerable ReadList()
    {
    CrmService crmService = GetCRMService();
    List accounts = new List();

    QueryExpression query = new QueryExpression();
    query.EntityName = EntityName.account.ToString();
    query.ColumnSet = new ColumnSet() { Attributes = new string[] { “accountid”, “name”, “parentaccountid”, “address1_city”,
    “numberofemployees”,”creditonhold” } };

    RetrieveMultipleRequest req = new RetrieveMultipleRequest();
    req.Query = query;
    RetrieveMultipleResponse resp = (RetrieveMultipleResponse)crmService.Execute(req);

    foreach (BusinessEntity be in resp.BusinessEntityCollection.BusinessEntities)
    {
    account crmAccount = (account)be;

    Account acc = new Account();
    acc.AccountID = crmAccount.accountid.Value.ToString();
    acc.Name = crmAccount.name;
    acc.ParentAccount = (crmAccount.parentaccountid != null ? crmAccount.parentaccountid.name : string.Empty);
    acc.City = crmAccount.address1_city;
    acc.NoOfEmployees = (crmAccount.numberofemployees != null ? crmAccount.numberofemployees.Value : 0);
    acc.CreditHold = (crmAccount.creditonhold != null ? crmAccount.creditonhold.Value : false);
    accounts.Add(acc);
    }

    return accounts;
    }

    public static Account Create(Account newAccount)
    {
    CrmService crmService = GetCRMService();
    account acc = new account();
    acc.name = newAccount.Name;
    acc.address1_city = newAccount.City;
    acc.creditonhold = new CrmBoolean() { name = “creditonhold”, Value = newAccount.CreditHold };
    acc.numberofemployees = new CrmNumber() { Value = newAccount.NoOfEmployees };
    Guid id = crmService.Create(acc);

    newAccount.AccountID = id.ToString();
    return newAccount;
    }

    public static void Update(Account account)
    {
    CrmService crmService = GetCRMService();
    account acc = new account();
    acc.accountid = new Key() { Value = new Guid(account.AccountID) };
    acc.name = account.Name;
    acc.address1_city = account.City;
    acc.creditonhold = new CrmBoolean() { name = “creditonhold”, Value = account.CreditHold };
    acc.numberofemployees = new CrmNumber() { Value = account.NoOfEmployees };

    crmService.Update(acc);
    }

    public static void Delete(string accountID)
    {
    CrmService crmService = GetCRMService();

    crmService.Delete(EntityName.account.ToString(), new Guid(accountID));
    }
    }
    }

    Regards
    Prasad

    Like

Share your thoughts

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s