Я новичок в службе WCF. Я создал простое веб-приложение asp.net и назвал веб-сервис администратора SharePoint для создания сайта. Ниже приведен код.
protected void btnSubmit_Click(object sender, EventArgs e)
{
CreateSiteClass objCreateSiteClass = new CreateSiteClass();
objCreateSiteClass.CreateSite(txtSiteName.Text);
}
[WebServiceBindingAttribute(Name = "AdminSoap", Namespace = "http://schemas.microsoft.com/sharepoint/soap/")]
public class CreateSiteClass : System.Web.Services.Protocols.SoapHttpClientProtocol
{
public void CreateSite(string str)
{
try
{
AdminService.Admin admService = new AdminService.Admin();
//admService.Credentials = System.Net.CredentialCache.DefaultCredentials;
admService.Credentials = new System.Net.NetworkCredential("ashish.rautela", "badri@12345", "IRISSOFTWARE");
admService.CreateSite(str, "Title", "Description", 1033, "STS#0", "IRISSOFTWARE\\ashish.rautela", "Ashish Rautela", "ashish.rautela@irissoftware.com", "", "");
}
catch (System.Web.Services.Protocols.SoapException ex)
{
Console.WriteLine(ex.StackTrace);
}
}
}
Это успешно созданный сайт (что бы вы ни передавали в параметре функции)
Но мое требование - использовать этот сервис внутри сервиса WCf. Итак, я создал приложение WCF и написал ту же функцию в своем классе Service1, который реализует интерфейс IService1.
Служба WCF была успешно построена, и когда я просмотрел ее после создания виртуального каталога, он дал мне следующий путь: -
http://vm -sp-vishal.irissoftware.com: 8888 / WCFSiteCreateor / Service1.svc * 1012 WSDL *
После этого я создал простое веб-приложение asp.net и добавил ссылку на сервис в моем проекте, щелкнув правой кнопкой мыши -> Добавить ссылку на сервис. Затем я написал следующий код в файле default.aspx.cs
protected void btnid_Click(object sender, EventArgs e)
{
TestService(txt.Text);
}
protected void TestService(string strUrl)
{
MyWCFAdminService.Service1Client objMyWCFAdminService = new MyWCFAdminService.Service1Client();
objMyWCFAdminService.SiteCreatorClass(strUrl);
}
Но когда я запускаю это приложение и передаю параметр функции в текстовое поле, это дает мне ошибку отказа в доступе.
Я - администратор фермы на сервере SharePoint, на котором выполняется этот код.
Любая помощь?