For my current project, I'm working on some SSIS packages that pull data from DB2 and ship them to SharePoint 2007 (MOSS) using the web service APIs. Since I'm not an expert SharePoint developer quite yet, I consulted this MSDN article to get the information on the structure of the call.
One would think this would be fairly straightforward and trivial to implement - sadly, this is not the case. After spending at least a good solid hour getting errors such as the "The list no longer exists at this location" and various Google permutations I finally ran across this community posting which indicates that if you're using a service within a subsite, the web reference needs to include ?WSDL at the end of the URI.
So...what's wrong with this?
#1 - The error is horribly obscure, particularly when the list does, in fact, exist at the location (this includes using http://<root>/<subsite>/_vti_bin/Lists.asmx).
#2 - A WSDL document is not an endpoint...well, it shouldn't be. I suppose any good 'ole URI can do and clearly the SharePoint team in their infinite wisdom found this to be the case for subsites for some odd reason.
#3 - It's not documented. Nowhere in the MSDN documentation is this little tidbit mentioned.