2010-03-03 4 views
0

Sur un client distant, j'essaie de créer une nouvelle liste dans un site SharePoint. En ce moment, je construis une chaîne CAML et l'envoie via http post sur mon site sharepoint. J'ai utilisé cette méthode pour mettre à jour des éléments de liste et créer des dossiers dws, mais je n'arrive pas à faire fonctionner AddList. Je reçois une erreur "Supprimer le serveur a renvoyé l'erreur: NotFound".Utilisation de Http Post pour AddList() dans Sharepoint

voici mon CAML:

 string soapEnv = 
     "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + 
     "<soap:Envelope " + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance" + 
     "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"" + 
     " xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + 
     "<soap:Body>" + 
     "<AddList xmlns=\"http://schemas.microsoft.com/sharepoint/soap\">" + 
      "<listName>" + listName + "</listName>" + 
      "<description>" + "A Test list" + "</description>" + 
      "<templateID>100</templateID>" + 
     "</AddList>" + 
     "</soap:Body>" + 
     "</soap:Envelope>"; 
     return soapEnv; 

J'envoie cela dans un message http avec ces paramètres:

 uri = "[my sharepoint site]/_vti_bin/lists.asmx"; 
     WebClient client = new WebClient(); 
     client.Headers["SOAPAction"] = "http://schemas.microsoft.com/sharepoint/soap/"; 
     client.Headers["content-type"] = "text/xml; charset=utf-8"; 
     client.Encoding = Encoding.UTF8; 
     client.UploadStringCompleted += UploadStringCompleted; 
     try 
     { 
      client.UploadStringAsync(new Uri(uri, UriKind.Absolute), "POST", CAML); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error in upload string async: " + ex.Message); 
     } 

Toutes les idées? Je suis assez certain que ce n'est pas un problème d'authentification puisque j'ai utilisé exactement la même méthode dans ce même programme pour faire les fonctions mentionnées précédemment. Le site sharepoint auquel j'ajoute la liste est un site de test dans lequel j'ai des capacités complètes de lecture/écriture.

+0

aussi, j'ai oublié de mentionner que c'est dans une application Silverlight – pclem12

Répondre

0

D'oh!
Dans cette partie du savon : Enveloppe tag: "xmlns: xsi = \" http://www.w3.org/2001/XMLSchema-instance " j'avais XMLSchema instance" au lieu de XMLSchema \ "".
J'avais besoin de parenthèses supplémentaires pour finir cette chaîne ...