2011-02-10 60 views
0

在SharePoint网站集中创建子网站,我有以下要求拒绝访问异常,同时使用SharePoint Web服务

要求:在其托管在远程服务器上,然后创建子Web应用程序“创建网站集编程网站“

我能够使用Admin.asmx Web服务成功创建网站集。但是,对于分坐,当我使用下面的代码 - 它抛出一个异常“访问被拒绝(异常来自HRESULT:0X80070005(E_ACCESSDENIED))”。

Uri site = new Uri("http://SharePoint2010Site/"); 
string webServicePath = "_vti_bin/Sites.asmx"; 
string webServiceUrl = Path.Combine(site.AbsoluteUri, webServicePath); 

Sites webService = new Sites(); 
webService.Credentials = CredentialCache.DefaultNetworkCredentials; 
webService.Url = webServiceUrl; 

//the following line creates the sub site 
string result = webService.CreateWeb("Sub Site", "Sub Site", "Sub Site Desc", "STS#0", 
    1033, true, 1033, true, 1033, true, true, true, true, true, true, true); 

可以什么访问的原因被拒绝例外呢?

回答

0

您确定自己是网站集的所有者吗?

你传递给网站集的参数是什么创建的?

+0

是的,我很确定。我传递给它的参数是adminService.CreateSite(“http:// SharePoint2010Site/sites/sitecollectionname”, “Title”,“Description”,1033,“STS#0”, userloginname,userloginname, useremail,“” “”); –

0

正如您所提到的,您想要访问远程站点,请尝试按如下所示传递用户名,密码和域名。

webService.Credentials = new System.Net.NetworkCredential("UserName Here", "Password Here", "Domain Name Here"); 
+0

另一台服务器上的凭证是一样的,所以我使用了默认凭证。但即使通过使用NetworCredentials明确指定凭证,我仍然会得到相同的拒绝访问异常。 –

+0

你还指定了域名吗,还是把它作为string.empty –

+0

是的,我指定了实际的域名。 –

相关问题