Я пытался воссоздать элемент в папке «Удаленные», но ничего не произошло, я получил эти ошибки «ErrorCannotCreateCalendarItemInNonCalendarFolder» или «ErrorCannotCreateContactInNonContactFolder». Как это преодолеть?
Я использовал запрос на СООБЩЕНИЕ с телом
"<?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\" >"
"<soap:Header> "
"<t:RequestServerVersion Version=\"Exchange2013\" /> "
"<t:ExchangeImpersonation> "
"<t:ConnectingSID> "
"<t:PrincipalName>%MAIL_BOX%</t:PrincipalName> " // <<------- MAIL_BOX ---- FILLED IN BY A TEMPLATE PARAM
"</t:ConnectingSID> "
"</t:ExchangeImpersonation> "
"</soap:Header> "
"<soap:Body> "
"<CreateItem xmlns=\"http://schemas.microsoft.com/exchange/services/2006/messages\" "
"MessageDisposition=\"SaveOnly\" "
"SendMeetingInvitations=\"SendToNone\"> "
"<SavedItemFolderId>"
"<t:FolderId Id=\"%FOLDER_ID%\"/>" // <<------- FOLDER_ID ---- FILLED IN BY A TEMPLATE PARAM
"</SavedItemFolderId>"
"<Items>"
"%ITEMS_CONTENT%" // <<------- ITEMS_CONTENT ---- FILLED IN BY A TEMPLATE PARAM
"</Items>"
"</CreateItem>"
"</soap:Body>"
"</soap:Envelope>";
И получил такой ответ:
<?xml version = "1.0" encoding = "utf-8"?>
<s:Envelope xmlns:s = "http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion = "15" MinorVersion = "20" MajorBuildNumber = "1922" MinorBuildNumber = "23" Version = "V2018_01_08" xmlns:h = "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>
<m:CreateItemResponse xmlns:m = "http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd = "http://www.w3.org/2001/XMLSchema" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:t = "http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:CreateItemResponseMessage ResponseClass = "Error">
<m:MessageText>Cannot create a calendar item in a non-calendar folder.</m:MessageText>
<m:ResponseCode>ErrorCannotCreateCalendarItemInNonCalendarFolder</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Items />
</m:CreateItemResponseMessage>
</m:ResponseMessages>
</m:CreateItemResponse>
</s:Body>
</s:Envelope>
Поскольку классом папки удаленных элементов является IPF. Примечание. EWS запрещает вам создавать элементы, которые являются календарем или контактами, в этих типах папок, поэтому вы получаете сообщение об ошибке. Обходной путь — просто создать элементы в обычной папке «Календарь» или «Контакты», а затем использовать операцию «Переместить», чтобы переместить их после того, как вы их создали.