2010-06-21 9 views
1

J'utilise le service Web Copy.asmx de Sharepoint pour télécharger des fichiers hérités et leurs métadonnées. La cible est une liste personnalisée (avec des dossiers imbriqués et des champs personnalisés - tous en tant que texte -).Téléchargement de fichiers dans la liste Sharepoint + valeurs de réglage pour la colonne Type de recherche

Le téléchargement de fichiers est ok, leurs métadonnées est ok, l'interrogation CAML est ok, mais ....

Un de mes attribut personnalisé est le DOC_TYPE. En raison des contraintes de temps, je l'ai défini comme texte. Toutefois, si les utilisateurs commencent à créer leur propre contenu, je préférerais optimiser la confidentialité des données en utilisant ce doc_type comme champ de recherche au lieu du texte libre.

J'apprécierais de l'aide pour configurer correctement la collection FieldInformation.

Il est excessif de publier le code entier, mais voici la partie pertinente. Je commence à créer un fichier XML détaillé qui représente chaque dossier et fichier. Le nœud "fichier" contient, en tant qu'attributs, les métadonnées. Ce bloc de code itère sur les attributs de chaque noeud.

 
    foreach (XmlAttribute attr in node.Attributes) { 
     if (attr.Name.StartsWith("c_")) { 
      spfinWSCopy.FieldInformation fi = new spfinWSCopy.FieldInformation(); 
      fi.DisplayName = attr.Name; 
      fi.InternalName = attr.Name; 
      fi.Type = spfinWSCopy.FieldType.Text; 
      fi.Value = attr.Value; 

      spfields.Add(fi); 

    } 
} 

En fin de compte, le WS est appelé à l'aide:

 
       copyService.CopyIntoItems(destination 
             , destinationURL 
             , file.spfieldInfo 
             , File.ReadAllBytes(AppSettings.getAppPropertyValue(CConstants.SOURCE_FOLDER_KEY_NAME) + "\\" + (file.destinationFolder).Replace("/","\\\\") + file.name) 
             , out result); 

Désolé pour la longue intro. La question est: comment dois-je réécrire ce qui suit pour les champs de recherche?

 
    fi.Type = spfinWSCopy.FieldType.Text; 
    fi.Value = attr.Value; 

Merci, Pedro

Répondre

0

À qui intéresser, je trouve que je ne peux pas définir des champs de recherche à l'aide webservices, dans another thread in SO.

This link élabore un peu. Très frustrant, je vais vérifier les exigences de mon entreprise, je dois aller à RPC.

Merci pour votre écoute, de toute façon :)

+0

information mise à jour, pour le bien de quelqu'un cas d'information se cogne dans le même problème: Bien que je ne peux pas définir des champs de type de recherche utilisant webservices JE définir des champs de type choix! Mon problème est maintenant résolu. Rappel: mon but est de filtrer les entrées utilisateur. – pfonseca

Questions connexes