KrissN / akonadi-ews

Akonadi resource agent for Microsoft Exchange using Exchange Web Services (EWS) protocol
96 stars 10 forks source link

Error response is not handled correctly in EwsGetFolderRequest #46

Open StefanBruens opened 6 years ago

StefanBruens commented 6 years ago

After I deleted a folder from outside kontact (i.e. a different kontact on another computer), akonadi-ews was no longer able to synchronize the account.

The server responds with the following message (shortened and reformatted):

<?xml version="1.0" encoding="utf-8"?>                                                                                                            
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">                                                                                  
  <s:Header>                                                                                                                                      
    <h:ServerVersionInfo 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" MajorVersion="15" MinorVersion="1" MajorBuildNumber="1034" MinorBuildNumber="26" Version="V2017_01_07"/>                                                                            
  </s:Header>                                                                                                                                     
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">                                     
    <m:GetFolderResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">                                                                                                                                
      <m:ResponseMessages>                                                                                                                        
        <m:GetFolderResponseMessage ResponseClass="Success">                                                                                      
          <m:ResponseCode>NoError</m:ResponseCode>                                                                                                
          <m:Folders>                                                                                                                             
            <t:Folder>                                                                                                                            
              <t:FolderId Id="AAMkAGU0NjRhMTNiLTcxNWItNDQ2YS05OGQ1LWY0N2QyOTE3ZGE0OAAuAAAAAABVndXjmYa2TJeya3R3NcK5AQDbPMzgbs3fSoYAI/xeTJ7HAAAAabzMAAA=" ChangeKey="AQAAABYAAADVV7DQctuIRYeYB4MK+03/AAHv5W0h"/>                                                                                      
            </t:Folder>                                                                                                                           
          </m:Folders>                                                                                                                            
        </m:GetFolderResponseMessage>                                                                                                             
        <m:GetFolderResponseMessage ResponseClass="Error">                                                                                        
          <m:MessageText>The specified object was not found in the store., The process failed to get the correct properties.</m:MessageText>      
          <m:ResponseCode>ErrorItemNotFound</m:ResponseCode>                                                                                      
          <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>                                                                                          
          <m:Folders/>                                                                                                                            
        </m:GetFolderResponseMessage>                                                                                                             
        <m:GetFolderResponseMessage ResponseClass="Success">                                                                                      
          <m:ResponseCode>NoError</m:ResponseCode>                                                                                                
          <m:Folders>                                                                                                                             
            <t:Folder>                                                                                                                            
              <t:FolderId Id="AAMkAGU0NjRhMTNiLTcxNWItNDQ2YS05OGQ1LWY0N2QyOTE3ZGE0OAAuAAAAAABVndXjmYa2TJeya3R3NcK5AQDbPMzgbs3fSoYAI/xeTJ7HAAAAafAvAAA=" ChangeKey="AQAAABYAAADVV7DQctuIRYeYB4MK+03/AACZqJhD"/>                                                                                      
            </t:Folder>                                                                                                                           
          </m:Folders>                                                                                                                            
        </m:GetFolderResponseMessage>                                                                                                             
      </m:ResponseMessages>                                                                                                                       
    </m:GetFolderResponse>                                                                                                                        
  </s:Body>                                                                                                                                       
</s:Envelope>