CreateFolderPath operation
Find information about the CreateFolderPath EWS operation.
The CreateFolderPath operation creates a folder hierarchy.
This operation was introduced in Exchange Server 2013.
Using the CreateFolderPath operation
The CreateFolderPath operation request takes an array of folders and a parent folder identifier and creates a folder hierarchy based on the order of the folders in the array.
CreateFolderPath operation SOAP headers
The CreateFolderPath 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. |
MailboxCulture |
MailboxCulture |
Identifies the culture, as defined in RFC 3066, "Tags for the Identification of Languages", to be used to access the mailbox. This header is applicable to a request. |
RequestVersion |
RequestServerVersion |
Identifies the schema version for the operation request. 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. |
TimeZoneContext |
TimeZoneContext |
Identifies the time zone scope for DateTime properties. This header is applicable to a request. |
CreateFolderPath operation request example: Create a folder hierarchy
The following example of a CreateFolderPath operation request shows how to create a folder hierarchy that is three folders deep in the default Inbox folder.
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:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<soap:Header>
<t:RequestServerVersion Version="Exchange2013" />
<t:MailboxCulture>en-US</t:MailboxCulture>
<t:TimeZoneContext>
<t:TimeZoneDefinition Id="GMT Standard Time"/>
</t:TimeZoneContext>
</soap:Header>
<soap:Body >
<m:CreateFolderPath>
<m:ParentFolderId>
<t:DistinguishedFolderId Id="inbox"/>
</m:ParentFolderId>
<m:RelativeFolderPath>
<t:Folder>
<t:DisplayName>MyFirstLevelFolder</t:DisplayName>
</t:Folder>
<t:Folder>
<t:DisplayName>MySecondLevelFolder</t:DisplayName>
</t:Folder>
<t:Folder>
<t:DisplayName>MyThirdLevelFolder</t:DisplayName>
</t:Folder>
</m:RelativeFolderPath>
</m:CreateFolderPath>
</soap:Body>
</soap:Envelope>
The request SOAP body contains the following elements:
Successful CreateFolderPath operation response
The following example shows a successful response to a CreateFolderPath operation request to create a folder hierarchy three folders deep in the default Inbox folder.
<?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="526"
MinorBuildNumber="0"
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:CreateFolderPathResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:CreateFolderPathResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Folders>
<t:Folder>
<t:FolderId Id="AAMkADEzOTExYisXAAA=" ChangeKey="AQAAABYAABq6Wxb"/>
<t:DisplayName>MyFirstLevelFolder</t:DisplayName>
<t:TotalCount>0</t:TotalCount>
<t:ChildFolderCount>0</t:ChildFolderCount>
<t:UnreadCount>0</t:UnreadCount>
</t:Folder>
</m:Folders>
</m:CreateFolderPathResponseMessage>
<m:CreateFolderPathResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Folders>
<t:Folder>
<t:FolderId Id="AAMkADEzOTExm4QrAABqxisYAAA=" ChangeKey="AQAAABYAAAm4QrAABq6Wxg"/>
<t:DisplayName>MySecondLevelFolder</t:DisplayName>
<t:TotalCount>0</t:TotalCount>
<t:ChildFolderCount>0</t:ChildFolderCount>
<t:UnreadCount>0</t:UnreadCount>
</t:Folder>
</m:Folders>
</m:CreateFolderPathResponseMessage>
<m:CreateFolderPathResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Folders>
<t:Folder>
<t:FolderId Id="AAMkADEzOTAABqxisZAAA=" ChangeKey="AQAAABYAA6Wxl"/>
<t:DisplayName>MyThirdLevelFolder</t:DisplayName>
<t:TotalCount>0</t:TotalCount>
<t:ChildFolderCount>0</t:ChildFolderCount>
<t:UnreadCount>0</t:UnreadCount>
</t:Folder>
</m:Folders>
</m:CreateFolderPathResponseMessage>
</m:ResponseMessages>
</m:CreateFolderPathResponse>
</s:Body>
</s:Envelope>
The response SOAP body contains the following elements:
CreateFolderPath operation error response
The following example shows an error response to a CreateFolderPath operation request. This is a response to a request to create two folders, the first of which does not have a display name property set. The first folder in the hierarchy cannot be created without a display name property, and the second folder cannot be created because the parent folder in the hierarchy was not created.
<?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="14"
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:CreateFolderPathResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:CreateFolderPathResponseMessage ResponseClass="Error">
<m:MessageText>The folder save operation failed due to invalid property values.</m:MessageText>
<m:ResponseCode>ErrorFolderSavePropertyError</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:MessageXml>
<t:FieldURI FieldURI="folder:DisplayName"/>
</m:MessageXml>
<m:Folders/>
</m:CreateFolderPathResponseMessage>
<m:CreateFolderPathResponseMessage ResponseClass="Error">
<m:MessageText>The specified parent folder could not be found.</m:MessageText>
<m:ResponseCode>ErrorParentFolderNotFound</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Folders/>
</m:CreateFolderPathResponseMessage>
</m:ResponseMessages>
</m:CreateFolderPathResponse>
</s:Body>
</s:Envelope>
The error response SOAP body contains the following elements:
For additional error codes that are generic to EWS and specific to this operation, see ResponseCode.