MOSS 2007: WSS 3.0: How to add/delete/update site columns by using SharePoint WebService
SharePoint's Webs webservice can be used to add/delete/update site columns. Unfortunatley MSDN/SDK doesnot has the sample yet. Here I provide the sample code.
//webs webservice object
localhost.Webs websService = new ContentTypeAndSiteColumn.localhost.Webs();
//url for the webservice
websService.Url = "https://localhost:4040/_vti_bin/Webs.asmx";
//credential
websService.Credentials = System.Net.CredentialCache.DefaultCredentials;
//xmldocument object
XmlDocument xDoc = new XmlDocument();
//Fields to be added
XmlElement newFields = xDoc.CreateElement("Fields");
//Fields to be edited
XmlElement updateFields = xDoc.CreateElement("Fields");
//Fields to be deleted
XmlElement deleteFields = xDoc.CreateElement("Fields");
newFields.InnerXml = "<Method ID='1'><Field Name='FieldName' DisplayName='FieldDisplayName' Group='Group Name' Type='Text'/></Method>";
newFields.InnerXml = "<Method ID='2'><Field Name='FieldName' DisplayName='FieldDisplayName' Group='Group Name' Type='Text'/></Method>";
deleteFields.InnerXml = "<Method ID='3'><Field Name='FieldName'/></Method>";
XmlNode returnValue = websService.UpdateColumns(newFields, updateFields, deleteFields);
MessageBox.Show(returnValue.OuterXml);
Related Links
----------------
https://msdn2.microsoft.com/en-us/library/webs.webs.updatecolumns.aspx
https://msdn2.microsoft.com/en-us/library/ms451470.aspx
https://msdn2.microsoft.com/en-us/library/ms437580.aspx
https://msdn2.microsoft.com/en-us/library/webs.webs.getcolumns.aspx
Keep Coding.... :)
Comments
Anonymous
March 18, 2007
how can I save data into sharepoint list if the field type or column type of is usermulti or a multivalued.Anonymous
May 22, 2007
SharePoint's Webs webservice can be used to add/delete/update site columns. Unfortunatley MSDN/SDKAnonymous
October 31, 2007
Interesting... I'd like to delete some bogus/duplicate columns left by InfoPath publish failures, so this may do the trick.Anonymous
May 18, 2008
I'm trying to add a new column to a site by using Webs.UpdateColumns method on the Webs web service (just like your example). I'm sending the following node as newFields: <Fields> <Method ID="1"> <Field Group="WSS Demo" Type="Text" Name="Test001" DisplayName="Test001" Required="false" /> </Method> </Fields> The server throws a exception, with the following details (actually detail - it's all it contains): <detail> <errorstring xmlns="http://schemas.microsoft.com/sharepoint/soap/">Value does not fall within the expected range.</errorstring> </detail> I've been tackling this for two days - any help is appreciated. Thank you !Anonymous
October 31, 2010
Does this actually work??? anyone? I also followed example and it did not work.Anonymous
May 24, 2011
This does not look as a correct service call according the the MS' schema.Anonymous
July 04, 2012
Very useful informationyou can search information about Theme for sharepoint 2010 at sharepoint2010template.com