[关键字]:SPS 2007 ,Web Service,Create Folder,The parent folder does not exist,FolderNotFound
[问题描述] http://msdn2.microsoft.com/en-us/library/websvcdocumentworkspace.dws.createfolder.aspx ,这篇msdn的文章介绍了如何调用SPS 2007的一个Web Services 函数CreateFolder 来创建一个文件夹到指定的站点目录。
比如我们有两个site,url 分别是http://spsServerName/default.aspx(根站点) , http://spsServerName/sites/mytestsite/default.aspx (子站点).
利用如下的代码(来源于msdn)可以建立一个文件夹到http://spsServerName/Shared Documents.
但是如果想创建文件夹到http://spsServerName/sites/mytestsite/Shared Documents ,通过
就会得到如下错误信息:
FolderNotFound (10). The parent folder does not exist.
所以通过CreateFolder来指定路径是不对的。如果重新添加子site 的web reference http://spsServerName/sites/mytestsite/_vti_bin/dws.asmx 也无法创建文件夹到当前的这个子site "mytestsite"的 “ Shared Documents”下
[原因&解决办法]
如果你查看一下工程文件里的Reference.cs 这个文件,你就会发现真正的原因。你会看到如下的代码:
所以我们只需要在上面的MSDN代码前添加一句就可以了
完整代码如下:
//后记:这个问题其实不是很难,但是如果不仔细看的话,确实想不到原因,总是想当然的以为在函数CreateFolder 中设置路径。在我解决这个问题后,就特别想把它赶快写下来,以供大家参考,以免碰到同样的问题多走弯路,尤其是这个问题是在网上搜不到,如果刚好有人遇到这个问题可以参考一下。