2009-10-12 7 views
0

J'ai besoin des informations sur la bibliothèque de documents SharePoint. À savoir, j'ai besoin de l'info si le versioning est activé ou désactivé et si l'option "require check out" est sélectionnée. Je dois utiliser les services Web SharePoint.Versionnement de la bibliothèque de documents SharePoint et paramètres d'extraction requis à l'aide des services Web

J'ai recherché dans Versions.asmx, Lists.asmx et SiteData.asmx, mais n'ai trouvé aucune méthode ou propriétés qui répondent à mes besoins.

Quelqu'un pourrait-il m'aider s'il vous plaît? Merci.

Répondre

1

Vous devrez utiliser la méthode lists.asmx GetList. Il renvoie toutes les métadonnées d'une liste.

Voici un code que je l'ai utilisé en combinaison avec LINQ to XML:

Private _serviceRefrence As SharePointListsService.ListsSoapClient 
    Dim endPoint As New ServiceModel.EndpointAddress(_serviceURL) 
    Dim ListID as Guid = New Guid("<<Your List Guid>>") 

    _serviceRefrence = New SharePointListsService.ListsSoapClient("ListsSoap", endPoint) 
    _serviceRefrence.ClientCredentials.Windows.ClientCredential = Credentials 
    _serviceRefrence.ClientCredentials.Windows.AllowedImpersonationLevel = Security.Principal.TokenImpersonationLevel.Impersonation 

    Dim results As XmlElement = _serviceRefrence.GetList(listID.ToString()) 
    Dim parserResults As XDocument = XDocument.Parse(results.OuterXml) 

    Dim listinfo = (From list In parserResults.Descendants(XName.Get("List", "http://schemas.microsoft.com/sharepoint/soap/")) _ 
        Select New With {.RequireCheckout = list.Attribute("RequireCheckout").Value, _ 
           .ModerationEnabled = list.Attribute("EnableModeration").Value, _ 
           .VersioningEnabled = list.Attribute("EnableVersioning")}).Single() 

Hope this helps!

+0

Cris, merci pour votre réponse. Y at-il un moyen de convertir cela en C#? Je ne comprends pas la syntaxe de VB. Merci pour l'aide. – Boris

+0

Malheureusement, je n'ai pas utilisé beaucoup de Linq vers XML en C#, il me faudrait donc du temps pour comprendre comment le convertir. Fondamentalement, quand vous voyez un Dim, convertissez-le comme suit: ServiceModel.EndpointAddress endPoint = new ServiceModel.EnpointAddress (_serviceURL); BTW, j'utilise WCF pour parler à SharePoint aussi bien. –

Questions connexes