I can reference Microsoft.SharePoint.dll in Visual Studio in order to compile my C# or VB.NET code. I've found that I will still need to copy the compiled code to the server and deploy it there.

From my research, in order to access MOSS from a different machine, I will need to use web services instead of the Microsoft.SharePoint.dll. However, web services cannot do all the functions that the dlls can do (e.g. Adding list to the right hand side collection).

So, my questions are:

  1. Do I need to use web services in order to create, update, and delete list items from a non-SharePoint server?
  2. Are there any good examples for basic web services CRUD operations?
  • 1
    Wilson, I can delete this post for you but first I wanted to recommend you ask a new question. I think probably what happened is that people didn't understand what you were asking and they should have left a comment asking for you to clarify. I think your edit helped and you ended up receiving some good information from Andy and Colin. I would recommend keeping the question at this point.
    – Kit Menke
    Commented Sep 14, 2011 at 2:00
  • Thanks Kit. Got your point. I appreciate those information from Andy and Colin but I also would like those user who vote down this question to give me their feedback & suggestion on how I can further improve my question to make it a perfect one (This will help me to get a perfect answer too and help the community in general). However, can I suggest that this question to be deleted if it really get more than 5 down-vote. Thanks.
    – Wilson Tan
    Commented Sep 14, 2011 at 2:08
  • I think you've received your answer for #2. For #1, here are some questions that may help us clarify what you are asking: What are you attempting to do? What code samples are looking for? Have you found some code that you are confused about?
    – Kit Menke
    Commented Sep 14, 2011 at 2:13
  • Yes, true, the answer for #2 is basically using web services (for SharePoint 2007 - which I am using & what my understanding was). As regards to #1, I am looking more on beginner books that do show 'baby-steps' on how I can use the SharePoint 2007 web services to perform some action like the CRUD operation on my SharePoint List. I perform a google search using the term 'SharePoint 2007 web services beginner guide' but the results is not what I am looking for and make me wonder if I have enter the wrong term. Any good suggestion is appreciated.
    – Wilson Tan
    Commented Sep 14, 2011 at 2:24
  • 1
    Take a look at my edit and see if I captured what you were asking correctly. Hopefully it helps, but feel free to revert it if you don't like it! :)
    – Kit Menke
    Commented Sep 14, 2011 at 2:52

3 Answers 3


@Andy and @Colin have a lot of good general information. In your case, you want to use the web services. Check out How to: Update List Items. IMO, the only challenging part is making sure you create your XML correctly to send to Lists.UpdateListItems:


<Method ID="1" Cmd="New">
    <Field Name="Title">Added item</Field>


<Method ID="2" Cmd="Update">
    <Field Name="ID">6</Field>
    <Field Name="Title">Modified sixth item</Field>


<Method ID="3" Cmd="Delete">
    <Field Name="ID">5</Field>

Many more good examples: http://msdn.microsoft.com/en-us/library/lists.lists.updatelistitems%28v=office.12%29.aspx


I assume that you're talking about SharePoint 2007. In SharePoint 2010 there is an additional API (the "Client Side Object Model") that lets you run C# code that isn't on your server.

Asking what you can and cannot do with SharePoint's object model is a bit vague. It is huge; answering that question would take years. There is reasonable documentation on MSDN.

It's a similar issue with the web services. There is also documentation on MSDN. You're right though, they don't expose all the same functionality as the object model. I've had to write and add my own web services to SharePoint sometimes because of this - that's a fairly common activity.

Regarding doing CRUD operations on lists and libraries from a remote machine - well, with SharePoint 2007 you're pretty much stuck with the Web Services. If you're using SharePoint 2010, though, you've then also got the choices of the Client Object Model for C#, or you could use the REST web services, which are pretty neat.

Perhaps if you posted a question that's a bit more about what you're trying to achieve?

  • +1 Thanks for the Info regarding on the CRUD Operation for SharePoint 2007. (Did not expected that I am left with one choice - Web Services). Actually, what I wish to achieve is basically performing CRUD on the SharePoint List remotely. May I know are there any good books or good blogs with step by step instructions on doing this?
    – Wilson Tan
    Commented Sep 8, 2011 at 8:51
  • @WilsonTan In short, there's probably no books or blogs that specifically outline your exact requirements. However, have a look at our learning tag for possible resources.
    – Alex Angas
    Commented Sep 8, 2011 at 20:12

In short, you can't. The Server side DLL's in SharePoint require that the code is executed on a machine with an active SharePoint instance, and then also that that instance is part of the same farm that you are "talking to" in your code.

In SP2007, the only options are:

  • Use the OOTB Web Services

  • Create your Own (WCF) Web ice and deploy that to a SharePoint machine. Then use that service in your client program. This is the most versatile, as it allows you to fully control what is available to your client, as well as still take advantage of any part of the SharePoint Server side API through your custom (WCF) Web Service

  • In SP2010, the 2nd option is also possible

  • In SP2010 you can use the CLient Object Model through either compilable code (i.e. C#, VB etc.) or JavaScript

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.