Operação FindFolder
A operação FindFolder usa o Exchange Web Services para localizar subpastas de uma pasta identificada e retorna um conjunto de propriedades que descrevem o conjunto de subpastas.
FindFolder retorna apenas os primeiros 512 bytes de qualquer propriedade streamable. Para Unicode, ele retorna os primeiros 255 caracteres usando uma cadeia de caracteres Unicode terminada em nulo.
Consultas de travessia profunda não podem ser executadas em pastas públicas.
As restrições são permitidas e devem usar apenas as propriedades da pasta, não as propriedades do item. A funcionalidade de classificação não está disponível para respostas do FindFolder . As consultas agrupadas não estão disponíveis para consultas FindFolder .
[! OBSERVAÇÃO} A operação FindFolder também é usada para localizar pastas gerenciadas.
Cabeçalhos SOAP
A operação FindFolder pode usar os cabeçalhos SOAP listados e descritos na tabela a seguir.
Header | Elemento | Descrição |
---|---|---|
Representação | ExchangeImpersonation | Identifica o usuário que o aplicativo cliente está representando. |
MailboxCulture | MailboxCulture | Identifica a cultura RFC3066 a ser usada para acessar a caixa de correio. |
RequestVersion | RequestServerVersion | Identifica a versão do esquema para a solicitação de operação. |
Serverversion | ServerVersionInfo | Identifica a versão do servidor que respondeu à solicitação. |
TimeZoneContext | TimeZoneContext | Identifica o fuso horário a ser usado para todas as respostas do servidor. |
Exemplo de solicitação FindFolder
O exemplo a seguir de uma solicitação FindFolder mostra como formar uma solicitação para localizar todas as pastas localizadas em uma caixa de entrada.
<?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:Body>
<FindFolder Traversal="Shallow" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<FolderShape>
<t:BaseShape>Default</t:BaseShape>
</FolderShape>
<ParentFolderIds>
<t:DistinguishedFolderId Id="inbox"/>
</ParentFolderIds>
</FindFolder>
</soap:Body>
</soap:Envelope>
Usando o valor padrão do BaseShape, a resposta retorna o nome da pasta, a ID da pasta, o número de subpastas, o número de pastas filho encontradas na pasta e a contagem de itens não lidos.
Elementos de solicitação FindFolder
Esta solicitação FindFolder inclui os seguintes elementos:
Para obter elementos adicionais de solicitação do FindFolder , consulte o esquema.
Exemplo de resposta FindFolder
O exemplo de corpo soap (Protocolo de Acesso a Objeto Simples) a seguir mostra uma resposta bem-sucedida à solicitação FindFolder . A resposta contém os elementos que são retornados quando o valor padrão do BaseShape é usado.
Observação
A ID da pasta e a chave de alteração foram encurtadas para preservar a legibilidade.
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<t:ServerVersionInfo MajorVersion="8" MinorVersion="0" MajorBuildNumber="652" MinorBuildNumber="0"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<FindFolderResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:FindFolderResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:RootFolder TotalItemsInView="1" IncludesLastItemInRange="true">
<t:Folders>
<t:Folder>
<t:FolderId Id="AQAnAH" ChangeKey="AQAAABY" />
<t:DisplayName>TestFolder</t:DisplayName>
<t:TotalCount>0</t:TotalCount>
<t:ChildFolderCount>0</t:ChildFolderCount>
<t:UnreadCount>0</t:UnreadCount>
</t:Folder>
</t:Folders>
</m:RootFolder>
</m:FindFolderResponseMessage>
</m:ResponseMessages>
</FindFolderResponse>
</soap:Body>
</soap:Envelope>
Elementos de resposta FindFolder
As propriedades retornadas na resposta são determinadas pelo BaseShape e pelo AdditionalProperties se forem usadas . Uma resposta FindFolder bem-sucedida inclui os seguintes elementos:
- ServerVersionInfo
- FindFolderResponse
- ResponseMessages
- FindFolderResponseMessage
- ResponseCode
- RootFolder (FindItemResponseMessage)
- Pastas
- Folder
- FolderId
- DisplayName (cadeia de caracteres)
- Totalcount
- Childfoldercount
- UnreadCount
As respostas do FindFolder a uma solicitação com a forma de resposta AllProperties não retornarão os elementos TotalCount e UnreadCount para pesquisas de pastas públicas.
Exemplo de resposta de erro do FindFolder
O exemplo de corpo SOAP a seguir mostra uma resposta de erro que ocorre quando você pesquisa uma pasta identificada por um identificador de pasta malformado.
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<t:ServerVersionInfo MajorVersion="8" MinorVersion="0" MajorBuildNumber="652" MinorBuildNumber="0"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<FindFolderResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<m:ResponseMessages>
<m:FindFolderResponseMessage ResponseClass="Error">
<m:MessageText>Id is malformed.</m:MessageText>
<m:ResponseCode>ErrorInvalidIdMalformed</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
</m:FindFolderResponseMessage>
</m:ResponseMessages>
</FindFolderResponse>
</soap:Body>
</soap:Envelope>
Elementos de resposta de erro FindFolder
A resposta de erro do FindFolder inclui os seguintes elementos:
Informações Adicionais
- O elemento DisplayName (cadeia de caracteres) da pasta é sempre incluído na forma padrão.
- O elemento UnreadCount está incluído nas pastas Tarefas e Anotações.
- Use o valor PropertyTag de 0x672D com um tipo de propriedade de Integer para identificar uma pasta gerenciada usando o elemento ExtendedFieldURI .