2010-06-28 4 views
3

Ma question est de savoir comment faire la différence entre un dossier de marque et un dossier créé par l'utilisateur lorsque je tente d'obtenir la liste des dossiers utilisateur en utilisant la méthode de service findFolder web:Catégoriser les dossiers Exchange dans le dossier Distinguished et dossier normal

FindFolderType request = new FindFolderType(); 

    request.setTraversal(FolderQueryTraversalType.DEEP); 

    FolderResponseShapeType folderResponseShapeType = new FolderResponseShapeType(); 
    folderResponseShapeType.setBaseShape(DefaultShapeNamesType.ALL_PROPERTIES); 
    request.setFolderShape(folderResponseShapeType); 

    NonEmptyArrayOfBaseFolderIdsType folderIds = new NonEmptyArrayOfBaseFolderIdsType(); 
    DistinguishedFolderIdType folderId = new DistinguishedFolderIdType(); 
    folderId.setId(DistinguishedFolderIdNameType.MSGFOLDERROOT); 
    folderIds.getFolderIdOrDistinguishedFolderId().add(folderId); 
    request.setParentFolderIds(folderIds); 

    //response 
    Holder<FindFolderResponseType> findFolderResult = new Holder<FindFolderResponseType>(); 

    addHandlers(port); 

    port.findFolder(
      request, 
      getImpersonation(smtpAddress), 
      getSerializedSecurityContextType(), 
      MAILBOX_CULTURE, 
      getServerVersion(), 
      findFolderResult, 
      serverVersion); 

Je ne vois aucune propriété à distinguer entre ces 2 types de dossiers.

Merci

Répondre

0

De http://social.technet.microsoft.com/Forums/exchange/en-US/57551bd1-d1e1-4913-bbb2-e2abbca02a3f/how-do-i-distinguish-the-user-create-folders-from-all-the-msgfolders?forum=exchangesvrdevelopment:

« Appel GetFolder (IDONLY) et passer toutes les valeurs de l'énumération de DistinguishedFolderIdNamesType et coller les FolderIds résultant dans un dictionnaire (FolderId.Id à Enum). Ensuite, quand vous voulez voir si un dossier donné est "distingué" ou non, vérifiez simplement si la clé existe dans votre dictionnaire. "

Questions connexes