Bonjour à tous,

J'essaye de modifier un contact se trouvant dans exchange via une application C# en passant par exchange web services. A l'exécution une exception est levée et son contenu est le suivant :

L'identificateur EWS est au format EwsLegacyId, lequel n'est pas pris en charge par la version Exchange indiquée par votre demande. Veuillez utiliser la méthode ConvertId pour convertir le format EwsLegacyId en EwsId.

J'ai essayé différentes méthodes pour convertir EwsLegacyId en EwsId sans succès.

Merci d'avance pour votre réponse et voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
ExchangeService _service = new ExchangeService(ExchangeVersion.Exchange2010);
            _service.Credentials = new WebCredentials("user", "password");
            _service.Url = new Uri("https://mail.domain.com/ews/exchange.asmx");
 
            Contact contact = Contact.Bind(_service, labelId.Content.ToString());
 
 
            // Update the contact's surname and company name.
            contact.Surname = textBoxNom.Text;
            contact.GivenName = textBoxPrenom.Text;
 
            // Update the contact's phone number.
            contact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = textBoxNumTelEntreprise.Text;
            contact.PhoneNumbers[PhoneNumberKey.HomePhone] = textBoxNumTelPrive.Text;
            contact.PhoneNumbers[PhoneNumberKey.MobilePhone] = textBoxNumTelMobile.Text;
            contact.PhoneNumbers[PhoneNumberKey.BusinessPhone2] = textBoxNumTelEntrepriseMobile.Text;
 
            // Update the contact'semail address.
            contact.EmailAddresses[EmailAddressKey.EmailAddress2] = new Microsoft.Exchange.WebServices.Data.EmailAddress(textBoxMailFirst.Text);
            contact.EmailAddresses[EmailAddressKey.EmailAddress2] = new Microsoft.Exchange.WebServices.Data.EmailAddress(textBoxMailSec.Text);
 
            // Update the contact's business address.
            // Specify the home address.
            PhysicalAddressEntry paEntry1 = new PhysicalAddressEntry();
            paEntry1.Street = textBoxRuePerso.Text;
            paEntry1.City = textBoxVillePerso.Text;
            paEntry1.State = "";
            paEntry1.PostalCode = textBoxCpPerso.Text;
            paEntry1.CountryOrRegion = textBoxPaysPerso.Text;
            contact.PhysicalAddresses[PhysicalAddressKey.Home] = paEntry1;
 
            // Specify the business address.
            PhysicalAddressEntry paEntry2 = new PhysicalAddressEntry();
            paEntry2.Street = textBoxRuePro.Text;
            paEntry2.City = textBoxVillePro.Text;
            paEntry2.State = "";
            paEntry2.PostalCode = textBoxCpPro.Text;
            paEntry2.CountryOrRegion = textBoxPaysPro.Text;
            contact.PhysicalAddresses[PhysicalAddressKey.Business] = paEntry2;
 
            // Save the contact.
            contact.Update(ConflictResolutionMode.AlwaysOverwrite);