title: How to set the contact Email1DisplayName using the EWS Java API (Exchange Web Service)?
body: <p>I just figured out how to set the title (see <a href="https://stackoverflow.com/questions/16612782/how-to-set-the-contact-title-using-the-ews-java-api-exchange-web-service">How to set the contact title using the EWS Java API (Exchange Web Service)?</a>). Now I am trying to set the email 1 display name.</p>
  
  <p>If I use the exposed API Contact.getEmailAddresses().setEmailAddress(), the display name is automatically set to be the same as the email address (and it overrides my extended properties). </p>
  
  <p>So now I am trying to set the complete email information via extended properties. It almost works, except when I look at the address book, the name and display name are empty.</p>
  
  <p>I have a feeling that this is related to the Email1OriginalEntryId property, which I do not know how to set correctly.</p>
  
  <p>Any ideas?</p>
  
  <p>My current attempt looks like this:</p>
  
  <pre><code>ExtendedPropertyDefinition propDef_PidLidEmail1DisplayName = new ExtendedPropertyDefinition(//
      UUID.fromString("00062004-0000-0000-C000-000000000046"), 0x8080, MapiPropertyType.String);
  
  ExtendedPropertyDefinition propDef_PidLidEmail1AddressType = new ExtendedPropertyDefinition(//
      UUID.fromString("00062004-0000-0000-C000-000000000046"), 0x8082, MapiPropertyType.String);
  
  ExtendedPropertyDefinition propDef_PidLidEmail1EmailAddress = new ExtendedPropertyDefinition(//
      UUID.fromString("00062004-0000-0000-C000-000000000046"), 0x8083, MapiPropertyType.String);
  
  ExtendedPropertyDefinition propDef_PidLidEmail1OriginalDisplayName = new ExtendedPropertyDefinition(//
      UUID.fromString("00062004-0000-0000-C000-000000000046"), 0x8084, MapiPropertyType.String);
  
  ExtendedPropertyDefinition propDef_PidLidEmail1OriginalEntryId = new ExtendedPropertyDefinition(//
      UUID.fromString("00062004-0000-0000-C000-000000000046"), 0x8085, MapiPropertyType.Binary);
  
  ExchangeService mailbox = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
  mailbox.setUrl(new URL("https://remote.domain.com/EWS/exchange.asmx").toURI());
  ExchangeCredentials credentials = new WebCredentials("user.name", "pw", "domain");
  mailbox.setCredentials(credentials);
  
  Contact c = new Contact(mailbox);
  c.setGivenName("GivenName");
  c.setSurname("Surname");
  
  //    c.getEmailAddresses().setEmailAddress(EmailAddressKey.EmailAddress1, new EmailAddress("AB12@B12.com"));
  
  c.setExtendedProperty(propDef_PidLidEmail1AddressType, "SMTP");
  c.setExtendedProperty(propDef_PidLidEmail1EmailAddress, "A12@B12.com");
  c.setExtendedProperty(propDef_PidLidEmail1OriginalDisplayName, "A12@B12.com");
  c.setExtendedProperty(propDef_PidLidEmail1DisplayName, "A12 B12 (A12@B12.com)");
  //    c.setExtendedProperty(propDef_PidLidEmail1OriginalEntryId, ???);
  
  c.save(WellKnownFolderName.Contacts);
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/WE5Y8.png" alt="enter image description here"></p>