Q:

Why is Restriction getting ignored?

I want to get the Id of a folder with the given name in the given parent folder using FindFolder EWS SOAP service through Office JavaScript API function  Office.context.mailbox.makeEwsRequestAsync. The specified Restriction seems to get ignored.
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
   <soap:Header>
      <t:RequestServerVersion Version="Exchange2013" />
   </soap:Header>
   <soap:Body>
      <m:FindFolder Traversal="Shallow">
         <m:FolderShape>
            <t:BaseShape>IdOnly</t:BaseShape>
            <t:AdditionalProperties>
               <t:FieldURI FieldURI="folder:DisplayName" />
            </t:AdditionalProperties>
         </m:FolderShape>
         <t:Restriction>
            <t:IsEqualTo>
               <t:FieldURI FieldURI="folder:DisplayName" />
               <t:FieldURIOrConstant>
                  <t:Constant Value="xyz" />
               </t:FieldURIOrConstant>
            </t:IsEqualTo>
         </t:Restriction>
         <m:ParentFolderIds>
            <t:DistinguishedFolderId Id="root" />
         </m:ParentFolderIds>
      </m:FindFolder>
   </soap:Body>
</soap:Envelope>

The request is successful, but instead of receiving at most one Folder in the response, I am getting all the folders in the specified parent folder.
I am calling this code from an Outlook Web Add-In which has ReadWriteMailbox permissions.
Please also note that specified restriction in a FindItem SOAP service call also did not work for me while the request was successful.
Can anybody point me in the right direction, please?

A:

Restriction is from Messages not Types so your request is incorrect (not sure why it doesn't throw an error) but if you use
     <?xml version="1.0" encoding="UTF-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
    <soap:Header>
    <t:RequestServerVersion Version="Exchange2013" />
    </soap:Header>
    <soap:Body>
        <m:FindFolder Traversal="Shallow">
            <m:FolderShape>
                <t:BaseShape>IdOnly</t:BaseShape>
                <t:AdditionalProperties>
                <t:FieldURI FieldURI="folder:DisplayName" />
                </t:AdditionalProperties>
            </m:FolderShape>
            <m:Restriction>
                <t:IsEqualTo>
                <t:FieldURI FieldURI="folder:DisplayName" />
                <t:FieldURIOrConstant>
                    <t:Constant Value="xyz" />
                </t:FieldURIOrConstant>
                </t:IsEqualTo>
            </m:Restriction>
            <m:ParentFolderIds>
                <t:DistinguishedFolderId Id="root" />
            </m:ParentFolderIds>
        </m:FindFolder>
    </soap:Body>
    </soap:Envelope>

it should work okay

