Dans SharePoint 2010, il existe une nouvelle méthode CreateWeb dans le service Web Sites dans le but de créer de nouveaux sous-sites SharePoint. Il y a, cependant, beaucoup de problèmes avec cela - eh bien, c'est mon expérience au moins. Voici le code qui devrait utiliser le service Web et sa méthode correctement:Comment créer un nouveau sous-site dans SharePoint 2010 à l'aide de services Web?
Uri site = new Uri("http://sp2010site/");
string webServicePath = "_vti_bin/Sites.asmx";
string webServiceUrl = Path.Combine(site.AbsoluteUri, webServicePath);
Sites webService = new Sites();
webService.Credentials = CredentialCache.DefaultNetworkCredentials;
webService.Url = webServiceUrl;
//the following line creates the sub site
string result = webService.CreateWeb("newsite", "New Site", "Site desc", "STS#0",
1033, true, 1033, true, 1033, true, true, true, true, true, true, true);
Le code suivant renvoie exception Soap si quelque chose de mal est arrivé (par exemple un sous-site avec l'adresse « newsite » existe déjà, ou le modèle spécifié n'existe pas).
Si tout est correct, une exception InvalidOperation est déclenchée avec le message "Il y a une erreur dans le document XML (1, 310).", Mais le site est réellement créé! Si tout est OK, mais que j'utilise ma propre solution au lieu du modèle SharePoint non défini par défaut (tel que le site Team, STS # 0), j'obtiens une exception Soap et le site n'est pas créé.
Cela a été une expérience terrible jusqu'à présent. S'il vous plaît poster vos expériences avec la création de sous-site dans SP 2010, et mieux encore, postez vos résolutions à ces problèmes si vous en avez. Salut à tous!
Ouais, tu as raison, le paramètre de chaîne de modèle doit être fourni en {site_guid} #template_name. Cependant, InvalidExceptio est toujours déclenché chaque fois que j'appelle la méthode CreateWeb (et que le site est créé). Donc, le problème reste. Avez-vous été capable de créer un site en utilisant la méthode CreateWeb sans aucune exception? C'est un tel drag ... Je sais que c'est en beta, mais quand même ... :) – Boris
Ça marche bien ici. Nous avons rencontré un problème avec un modèle de site qui n'a pas pu être chargé, mais il a également échoué à se charger sous les mécanismes normaux. J'espère que vous trouverez une solution. –
InvalidException est une erreur confirmée par Microsoft. Eh bien, j'espère qu'ils le répareront dans la version officielle de SharePoint 2010. – Boris