Click here to Skip to main content
13,447,449 members (47,887 online)
Rate this:
Please Sign up or sign in to vote.
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:

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 = "";

    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 25-Jun-12 2:09am
Updated 25-Jun-12 2:51am

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

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web02 | 2.8.180318.3 | Last Updated 25 Jun 2012
Copyright © CodeProject, 1999-2018
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100