Auteur de questions
Ajouter un item à une External list en utilisant les web services

Question
-
Bonjour,
J'ai créé une external list dans Sharepoint 2010.
Mon external list est synchronisé avec mon External Content Type. J'arrive depuis le portail Sharepoint à afficher mon External list, à y ajouter des items, à les supprimer, ...
Mais en essayant d'ajouter un item par les web service avec la méthode http://msdn.microsoft.com/en-us/library/ms440289.aspx , je reçois l'erreur 0x80070057 Bad parameter passed to Web Server Extensions. Check the information you entered and try again.
Je me demande si ce n'est pas une limitation dans sharepoint 2010 mais j'aimerais que quelqu'un me confirme.
Merci d’avance
- Modifié Vincenzo B mardi 26 juillet 2011 11:24 changement de couleur
Toutes les réponses
-
Bonjour,
Le fait de répondre à votre question par un "oui" ou un "non" me semble un peu prématuré à ce stade...
Pouvez-vous éventuellement fournir le code? Peut-être s'agit-il d'une petite erreur de codage (si je peux me permettre) ;-)
Pascal P
http://sharepoint-afterwork.com
http://pascalp.dotnet-france.com/
Twitter: @PascalPoeck -
oui, bien sûr :)
mon external list est sous cette forme:
ProductID | Name | Description
lorsque je crée un item à partir du portail sharepoint, je dois renseigner obligatoirement les champs ProductID et Name
Je renseigne l'ID dans mon code car sur le portail Sharepoint, lorsque je crée un item dans mon external list, il me demande de saisir le ProductID manuellement (je sais pas encore ce que j'ai oublié de faire pour auto incrémenter l'id)
voici mon code (c'est un bouton dans une webpart)
protected void bExecute_Click(object sender, EventArgs e) { try { ws_list.Lists list = new ws_list.Lists(); //list.PreAuthenticate = true; //list.Credentials = System.Net.CredentialCache.DefaultCredentials; list.Credentials = new System.Net.NetworkCredential("Administrator", "P@ssw0rd", "domain.lan"); XmlDocument doc = new XmlDocument(); XmlElement batch_element = doc.CreateElement("Batch"); string item = "<Method ID='1' Cmd='New'>" + "<Field Name='ProductID'>9</Field>" + "<Field Name='Name'>La reine rouge</Field>" + "</Method>"; batch_element.InnerXml = item; var action = list.UpdateListItems("Product List", batch_element); Controls.Add(new Literal() { Text = "ok" }); Controls.Add(new Literal() { Text = action.InnerText }); /* là il y a le message:0x80070057 Bad parameter passed to Web Server Extensions. Check the information you entered and try again.*/ } catch (Exception ex) /* aucune erreur n'est levée ici */ { string err = ex.Message; Controls.Add(new Literal() { Text = err }); } }
Si je prends une custom list et que j'applique item = "<Method ID='1' Cmd='New'>" + "<Field Name='Title'>La reine rouge</Field>" + "</Method>";
l'innertext de l'action retourne 0x00000000 et ça rajoute dans la custom list l'item "La reine rouge".
- Modifié Vincenzo B mercredi 27 juillet 2011 08:58 arrangement
-
Une première piste...
http://www.dev4side.com/community/blog/2010/3/3/date-format-using-sharepoint-lists-web-service-and-updatelistitems-method.aspx
Pascal P
http://sharepoint-afterwork.com
http://pascalp.dotnet-france.com/
Twitter: @PascalPoeck -
Merci. J'ai testé avec le code du site mais toujours la même erreur 0x80070057
protected void bExecute_Click(object sender, EventArgs e) { ws_list.Lists service = new ws_list.Lists(); service.Url = "http://sharepoint-srv/_vti_bin/Lists.asmx"; service.Credentials = CredentialCache.DefaultCredentials; XmlDocument document = new XmlDocument(); XmlElement updates = document.CreateElement("Batch"); updates.InnerXml = string.Format( "<Method ID='1' Cmd='New'>" + "<Field Name='ProductID'>10</Field>" + "<Field Name='Name'><![CDATA[{0}]]></Field>" + "<Field Name='Description'>{1}</Field>" + "</Method>", "la reine rouge", "reine diabolique"); XmlNode node = null; node = service.UpdateListItems("Product List", updates); Controls.Add(new Literal() { Text = node.InnerText.ToString() }); /* 0x80070057Bad parameter passed to Web Server Extensions. Check the information you entered and try again. */ }
-