GetConversationItems operation
Find information about the GetConversationItems operation.
The GetConversationItems operation gets one or more sets of items that are organized in to nodes in a conversation.
This operation was introduced in Exchange Server 2013.
Using the GetConversationItems operation
You can use the GetConversationItems operation to get items in conversations for both primary and archive mailboxes.
GetConversationItems operation SOAP headers
The GetConversationItems operation can use the SOAP headers that are listed in the following table.
Header name | Element | Description |
---|---|---|
Impersonation |
ExchangeImpersonation |
Identifies the user whom the client application is impersonating. This header is applicable to a request. |
RequestVersion |
RequestServerVersion |
Identifies the schema version for the operation request. The minimum value for this element is Exchange2013. This header is applicable to a request. |
ServerVersion |
ServerVersionInfo |
Identifies the version of the server that responded to the request. This header is applicable to a response. |
GetConversationItems operation request example: Get items in a single conversation
The following example of a GetConversationItems operation request shows how to get all conversation items in a single conversation, with the exception of items located in the Deleted Items and Drafts folders. Each item returned in the response will contain an item identifier, a subject, and the time that the item was received in the mailbox.
Note
All item identifiers and change keys in this article have been shortened to preserve readability.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2013" />
</soap:Header>
<soap:Body>
<m:GetConversationItems>
<m:ItemShape>
<t:BaseShape>IdOnly</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="item:Subject" />
<t:FieldURI FieldURI="item:DateTimeReceived" />
</t:AdditionalProperties>
</m:ItemShape>
<m:FoldersToIgnore>
<t:DistinguishedFolderId Id="deleteditems" />
<t:DistinguishedFolderId Id="drafts" />
</m:FoldersToIgnore>
<m:SortOrder>TreeOrderDescending</m:SortOrder>
<m:Conversations>
<t:Conversation>
<t:ConversationId Id="AAQkADEzOTExYjJkakJCs=" />
</t:Conversation>
</m:Conversations>
</m:GetConversationItems>
</soap:Body>
</soap:Envelope>
This example of a GetConversationItems request does not include the following options:
The MaxItemsToReturn element, which sets the maximum number of items to return in the response.
The MailboxScope element, which sets the mailbox scope by indicating whether the GetConversationItems operation is to be performed on the primary mailbox, the archive mailbox, or both mailboxes.
The SyncState (base64Binary) element, which sets the synchronization state to only get conversation items that are new or updated in the conversation. This element is set for each conversation.
The request SOAP body contains the following elements:
Successful GetConversationItems operation response
The following example shows a successful response to a GetConversationItems operation request to get items in a single conversation.
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15"
MinorVersion="0"
MajorBuildNumber="545"
MinorBuildNumber="11"
Version="Exchange2013"
xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:GetConversationItemsResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:GetConversationItemsResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Conversation>
<t:ConversationId Id="AAQkADEzOTExYjJkakJCs=" />
<t:SyncState>AQIAAABNVkUwAgIAAABhHqHUAwIAAABNVkUxBAIAAABhHqHfBAIAAABhHqHV</t:SyncState>
<t:ConversationNodes>
<t:ConversationNode>
<t:InternetMessageId>6a4838fa804045e09d40c1a39b9ea916@contoso.com</t:InternetMessageId>
<t:ParentInternetMessageId>15a56698d503438fbdaa18186d5b81b7@contoso.com</t:ParentInternetMessageId>
<t:Items>
<t:Message>
<t:ItemId Id="AAMkADEzOTQrAABhHqHfAAA=" ChangeKey="CQAAABYAAACYAABhPpaq" />
<t:Subject>RE: Daily issue scrub</t:Subject>
<t:DateTimeReceived>2012-10-30T18:42:27Z</t:DateTimeReceived>
</t:Message>
</t:Items>
</t:ConversationNode>
<t:ConversationNode>
<t:InternetMessageId>2695d2b837954d68846b0c30491f5af1@contoso.com</t:InternetMessageId>
<t:ParentInternetMessageId>15a56698d503438fbdaa18186d5b81b7@contoso.com</t:ParentInternetMessageId>
<t:Items>
<t:Message>
<t:ItemId Id="AAMkADEzOTExYjJkLTYxZDAt" ChangeKey="CQAAABQrAABhPpaP" />
<t:Subject>RE: Daily issue scrub</t:Subject>
<t:DateTimeReceived>2012-10-30T17:38:26Z</t:DateTimeReceived>
</t:Message>
</t:Items>
</t:ConversationNode>
<t:ConversationNode>
<t:InternetMessageId>15a56698d503438fbdaa18186d5b81b7@contoso.com</t:InternetMessageId>
<t:ParentInternetMessageId>d3113e59c89c4288ae13100d033f8dbc@contoso.com</t:ParentInternetMessageId>
<t:Items>
<t:Message>
<t:ItemId Id="AAMkADEzOTFNVkUxAAA=" ChangeKey="CQAAABY4QrAABhPvYK" />
<t:Subject>RE: Daily issue scrub</t:Subject>
<t:DateTimeReceived>2012-10-30T17:37:00Z</t:DateTimeReceived>
</t:Message>
</t:Items>
</t:ConversationNode>
<t:ConversationNode>
<t:InternetMessageId>d3113e59c89c4288ae13100d033f8dbc@contoso.com</t:InternetMessageId>
<t:ParentInternetMessageId>189b712056c2430dbce334b40496ad00@contoso.com</t:ParentInternetMessageId>
<t:Items>
<t:Message>
<t:ItemId Id="AAMkm4QrAABhHqHUAAA=" ChangeKey="CQAAABQrAABhPpaN" />
<t:Subject>RE: Daily issue scrub</t:Subject>
<t:DateTimeReceived>2012-10-30T17:37:05Z</t:DateTimeReceived>
</t:Message>
</t:Items>
</t:ConversationNode>
<t:ConversationNode>
<t:InternetMessageId>189b712056c2430dbce334b40496ad00@contoso.com</t:InternetMessageId>
<t:Items>
<t:Message>
<t:ItemId Id="AAMkArAABNVkUwAAA=" ChangeKey="CQAAABm4QrAABhPvYJ" />
<t:Subject>Daily issue scrub</t:Subject>
<t:DateTimeReceived>2012-10-30T17:36:00Z</t:DateTimeReceived>
</t:Message>
</t:Items>
</t:ConversationNode>
</t:ConversationNodes>
</m:Conversation>
</m:GetConversationItemsResponseMessage>
</m:ResponseMessages>
</m:GetConversationItemsResponse>
</s:Body>
</s:Envelope>
We recommend that you save the SyncState for subsequent GetConversationItems operation requests.
The response SOAP body contains the following elements:
GetConversationItems operation error response
The following example shows an error response to a GetConversationItems operation request to get items in a conversation that either no longer exists in the mailbox, or for which all the conversation items are located in folders that are ignored.
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="0" MajorBuildNumber="556" MinorBuildNumber="8" Version="Exchange2013" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:GetConversationItemsResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:GetConversationItemsResponseMessage ResponseClass="Error">
<m:MessageText>The specified object was not found in the store.</m:MessageText>
<m:ResponseCode>ErrorItemNotFound</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
</m:GetConversationItemsResponseMessage>
</m:ResponseMessages>
</m:GetConversationItemsResponse>
</s:Body>
</s:Envelope>