Click here to Skip to main content
15,886,519 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Any sample code on how to update a contact in exchange ? I tried a sample code from the microsoft site but it doesn't show how to update the Business Address, Home & Other addresses, please note that i'm not using the EWS Managed API.
This is my code:

C#
static void UpdateContact(ExchangeServiceBinding esb)
{
    // Create an object of update item type.
    UpdateItemType updateItemType = new UpdateItemType();
    updateItemType.ConflictResolution = ConflictResolutionType.AlwaysOverwrite;

    updateItemType.ItemChanges = new ItemChangeType[1];
    ItemChangeType changeType = new ItemChangeType();

    // Get the ID and change key from the contact item that you btained by using FindItem or CreateItem.
    ItemIdType contactId = new ItemIdType();
    contactId.Id = "AAAt=";
    contactId.ChangeKey = "EQAA";

    changeType.Item = contactId;

    changeType.Updates = new ItemChangeDescriptionType[1];

    // Create a set item field to identify the type of update.
    SetItemFieldType setItem = new SetItemFieldType();
    PathToIndexedFieldType indexedField = new PathToIndexedFieldType();

    // Update EmailAddress1 for the contact.
    indexedField.FieldIndex = "EmailAddress1";
    indexedField.FieldURI = DictionaryURIType.contactsEmailAddress;

    setItem.Item = indexedField;

    // Create a contact item to contain the update.
    ContactItemType contact = new ContactItemType();
    contact.EmailAddresses = new EmailAddressDictionaryEntryType[1];

    // Specify the e-mail address to be modified, and specify the new e-mail address.
    EmailAddressDictionaryEntryType emailAddress = new EmailAddressDictionaryEntryType();
    emailAddress.Key = EmailAddressKeyType.EmailAddress1;
    emailAddress.Value = "donhall@example.com";

    contact.EmailAddresses[0] = emailAddress;

    setItem.Item1 = contact;
    changeType.Updates[0] = setItem;
    updateItemType.ItemChanges[0] = changeType;

    // Send the update item request and receive the response.
    UpdateItemResponseType updateItemResponse = esb.UpdateItem(updateItemType);

    // Access the response.
    if (updateItemResponse.ResponseMessages.Items.Length > 0 &&
        updateItemResponse.ResponseMessages.Items[0].ResponseClass == ResponseClassType.Success)
    {
        ItemInfoResponseMessageType responseMessage = updateItemResponse.ResponseMessages.Items[0] as ItemInfoResponseMessageType;
        ContactItemType contactResponse = responseMessage.Items.Items[0] as ContactItemType;
        Console.WriteLine("Created Contact Item with Id {0} and ChangeKey {1}", contactResponse.ItemId.Id, contactResponse.ItemId.ChangeKey);
    }
}


How can I programmatically update the contact addresses in exchange 2010?
Posted
Updated 25-Jun-12 2:51am
v5

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900