What's new in EWS and other web services in Exchange
Find out what's new in EWS and web services in Exchange and the EWS Managed API.
Web services in Exchange have been updated to include new features.
Table 1. New web service features in Exchange Online, Exchange 2013, and the EWS Managed API
Feature | Implemented in Exchange Online | Implemented in Exchange 2013 | Implemented in the EWS Managed API |
---|---|---|---|
eDiscovery |
Yes |
Yes |
Yes |
Archiving |
Yes |
Yes |
Yes |
Personas |
Yes |
Yes |
No |
Unified Contact Store |
Yes |
Yes |
No |
Retention policies |
Yes |
Yes |
Yes |
User photos |
Yes |
Yes |
No |
Mail apps for Outlook management |
Yes |
Yes |
Yes |
Propose new meeting time |
Yes |
No |
No |
eDiscovery in EWS
eDiscovery is a federated query web service that enables external applications, such as SharePoint 2013, to perform queries of Exchange data. Discovery consists of several phases, including identifying and preserving key data, culling down and reviewing the data, and producing data in court. eDiscovery queries facilitate the discovery process by providing a single discovery workflow across Exchange and SharePoint.
Table 2. EWS operations and EWS Managed API methods for working with eDiscovery
Operation name | EWS Managed API method | Description |
---|---|---|
GetDiscoverySearchConfiguration operation |
ExchangeService.GetDiscoverySearchConfiguration() |
Gets configuration information for in-place holds, saved discovery searches, and the mailboxes that are enabled for discovery search. |
GetHoldOnMailboxes operation |
ExchangeService.GetHoldOnMailboxes() |
Gets the status of a query-based hold, which is set by using the SetHoldOnMailboxes operation. |
GetNonIndexableItemDetails operation |
ExchangeService.GetNonIndexableItemDetails() |
Gets details about items that cannot be indexed. This includes, but is not limited to, the item identifier, an error code, an error description, when an attempt was made to index the item, and additional information about the item. |
GetNonIndexableItemStatistics operation |
ExchangeService.GetNonIndexableItemStatistics() |
Gets the count of items that cannot be indexed in a mailbox. |
GetSearchableMailboxes operation |
ExchangeService.GetSearchableMailboxes() |
Gets a list of mailboxes that the client has permission to search or perform eDiscovery on. |
SearchMailboxes operation |
ExchangeService.SearchMailboxes() |
Searches for items in specific mailboxes that match query keywords. |
SetHoldOnMailboxes operation |
ExchangeService.SetHoldOnMailboxes() |
Sets a query-based hold on items. |
Archiving in EWS
Archive mailboxes are secondary mailboxes that are associated with a user. Archive mailboxes are typically used to manage email storage limits. For example, older email items might periodically be moved from the Inbox to the archive mailbox.
Exchange introduces two new EWS operations that you can use to archive a set of mail items from a primary mailbox. Archiving Inbox items in this way preserves the folder hierarchy of the items. In addition, archive mailboxes can now be stored either locally on a client, or remotely, in a way that is mostly opaque to a user, by using a folder path to point to the contents of the archive.
Table 3. EWS operations and EWS Managed API methods for working with archiving
Operation name | EWS Managed API method | Description |
---|---|---|
ArchiveItem operation |
ExchangeService.ArchiveItems() |
Moves an item from the primary mailbox to the archive mailbox. |
CreateFolderPath operation |
Not implemented. |
Creates a folder hierarchy in a primary or archive mailbox. |
Personas in EWS
A persona is a collection of data that is associated with an individual. The data can come from one or more sources and is associated with the persona by means of a common link ID. Personas in EWS enable you to link, search, browse, and retrieve information about a person from multiple sources and organize that information into a single logical entity. Personas differ from contacts in that a contact is a collection of data from a single source that is associated with an individual; for example, a personal Outlook contact or an entry in a global address list (GAL).
The EWS Managed API does not implement this functionality.
Note
The Unified Contact Store also exposes persona functionality by means of the operations that support that feature.
Table 4. EWS operations for working with personas
Operation name | Description |
---|---|
FindPeople operation |
Returns all persona objects from a specified contact folder or retrieves all contacts that match a specified query string. |
GetPersona operation |
Retrieves a persona. |
Unified Contact Store in EWS
The Unified Contact Store is a feature that provides a consistent contact experience across Office products and acts as an integration point for third-party applications to use the same contact store. It allows users and applications to store, manage, and access contact information and make it available globally among Lync, Exchange 2013, Outlook, Outlook Web App and any other application that implements access to the Unified Contact Store. Exchange is the contact store for the Unified Contact Store experience.
The EWS Managed API does not implement this functionality.
Table 5. EWS operations for working with the Unified Contact Store
Operation name | Description |
---|---|
AddNewImContactToGroup operation |
Adds a new IM contact to a group. The Unified Contact Store can contain a maximum of 1000 contacts. |
AddImContactToGroup operation |
Adds an existing IM contact to a group. The Unified Contact Store can contain a maximum of 1000 contacts. |
AddImGroup operation |
Adds a new IM group. The Unified Contact Store can contain a maximum of 64 groups. |
AddNewTelUriContactToGroup operation |
Adds a new contact to a group based on a contact's phone number. |
AddDistributionGroupToImList operation |
Adds a new distribution list group. The Unified Contact Store can contain a maximum of 64 groups. |
GetImItemList operation |
Retrieves a list of IM groups and IM contact personas. |
GetImItems operation |
Retrieves information about the specified IM groups and IM contact personas. |
RemoveContactFromImList operation |
Removes the specified contact from all IM groups. |
RemoveImContactFromGroup operation |
Removes an IM contact from a group. |
RemoveDistributionGroupFromImList operation |
Removes the specified IM distribution list group. |
RemoveImGroup operation |
Removes the specified IM group. |
SetImGroup operation |
Changes the display name of a group. |
Retention policies in EWS
Retention policies are policies that are used in Exchange to group one or more retention tags, to apply retention settings to folders or individual items such as email and voice mail messages, and to apply retention settings to a mailbox.
Exchange includes three types of retention tags:
Default policy tags that apply to mailbox items that have no other type of retention tag applied.
System folder policy tags that are applied to default folders such as the Inbox.
Personal tags that a user can apply to folders they create or to individual items.
Only one retention policy can be assigned to a mailbox, but the policy can have one or more retention tags of various types linked to it. Retention tags can be linked to or unlinked from a retention policy at any time. EWS in Exchange exposes a new operation, GetUserRetentionPolicyTags, and the EWS Managed API implements a new method, ExchangeService.GetUserRetentionPolicyTags(), that provides a list of all the tags that are linked to a retention policy. You can set and retrieve retention policy tags for items and folders by using the CreateItem, CreateFolder, UpdateItem, UpdateFolder, GetItem, and GetFolder operations.
Requesting user photos
You can request user photos from the Exchange server by using one of the two implementations of the GetUserPhoto operation: REST or SOAP. The REST endpoint uses a standard HTTPS GET request to get the user photo. The service will either return a user photo stored in Exchange or a photo from Active Directory Domain Services (AD DS).
The EWS Managed API does not implement this functionality. You can, however, use the EWS Managed API to return user photos that are stored in a mailbox by getting the photo that is attached to a contact.
Block senders and mark email as junk in EWS
You can now block senders and mark email as junk by using the new MarkAsJunk operation in EWS or the ExchangeService.MarkAsJunk() method in the EWS Managed API.
Mail apps for Outlook
EWS now includes support for managing mail apps for Outlook.
Table 6. EWS operations and EWS Managed API methods for working with mail apps for Outlook
Operation name | EWS Managed API method | Description |
---|---|---|
DisableApp operation |
ExchangeService.DisableApp() |
Disables an installed app. |
GetAppManifests operation |
ExchangeService.GetAppManifests() |
Gets the app manifests for a mailbox. |
GetAppMarketplaceUrl operation |
ExchangeService.GetAppMarketplaceUrl() |
Gets the app marketplace URL. |
GetClientAccessToken operation |
ExchangeService.GetClientAccessToken() |
Gets client access tokens. |
InstallApp operation |
ExchangeService.InstallApp() |
Installs an app for a mailbox. |
UninstallApp operation |
ExchangeService.UninstallApp |
Uninstalls an app from a mailbox. |
Propose new meeting time
The propose new time feature was introduced in version 15.00.0800.007 of Exchange. This allows meeting attendees to propose new meeting times to the meeting organizer.
The EWS Managed API does not implement this functionality.