Как я могу удалить дочерний сайт SharePoint с помощью веб-служб SharePoint? - PullRequest
0 голосов
/ 22 сентября 2009

Я вынужден использовать веб-сервисы SharePoint. Мне нужен веб-сервис, который позволит мне удалить сайт SharePoint. Я пытался использовать метод DeleteWorkspace (веб-сервис Meetings.asmx), но он способен только удалять дочерние сайты, являющиеся рабочими пространствами собраний (мой использует собственный шаблон, полученный из сайта группы). Любая помощь будет оценена, спасибо.

Ответы [ 5 ]

1 голос
/ 24 ноября 2012

При обновлении до SharePoint 2013 в веб-службе Sites появится новый метод: DeleteWeb. Ожидается, что URL-адрес дочернего сайта будет удален относительно сайта, к которому вы подключили веб-службу.

--- Ферда

1 голос
/ 22 сентября 2009

Удивительно! Нет, ты не можешь сделать это .... Я знаю! странно, что это не учтено. Я уверен, что было принято какое-то решение, но я побеждаю, если знаю, почему.

Единственный вариант - развернуть пользовательский код - либо получатель события, либо веб-сервис.

1 голос
/ 22 сентября 2009

К сожалению, это невозможно с готовыми веб-сервисами. (Они имеют функцию удаления только на уровне семейства сайтов.)

Вам потребуется разработать настраиваемую веб-службу и развернуть ее в своей ферме SharePoint.

0 голосов
/ 10 июля 2010

как говорит Бен, использование / _ vti_bin / Dws.asmx должно работать Вот еще один пример

public bool  DeleteSubSite(string urlSubSite, string user, string passw, string domain)
    {
        bool retValue = true;
        Dws docWS = new Dws();
        docWS.Url = urlSubSite + "/_vti_bin/Dws.asmx"; ;
        docWS.Credentials = new System.Net.NetworkCredential(user, passw, domain);

        try
        {
            docWS.DeleteDws();
        }
        catch (SoapException soex)
        {
            retValue = false;
        }
        return retValue;
    }
0 голосов
/ 25 мая 2010

Если вы хотите удалить сайт, попробуйте использовать веб-сервис dws.

Я использовал DWS.DeleteDWS(), где фунтоин get_constant и т. Д. Просто получают константы возврата для входа в систему и веб-сервисов, таких как _vti_bin/dws.asmx

Public Function RemoveWSSSite(ByVal sPath As String, ByVal sSubSiteName As String) As Boolean
        Dim DTConstant As New DTFrameWork.DTConstant
        Dim SPDWS1 As New SPDws.Dws
        Dim sSubsiteURL As String = ""

        If (sSubSiteName = "") Then
            sSubsiteURL = ""
        Else
            sSubsiteURL = sSubSiteName & "/"
        End If
        SPDWS1.PreAuthenticate = True
        SPDWS1.Credentials = New System.Net.NetworkCredential(DTconst.Get_Constant_String_Value("SP_m_AdminUser"), DTconst.Get_Constant_String_Value("SP_m_AdminPassword"), DTconst.Get_Constant_String_Value("SP_m_SiteDomain"))
        SPDWS1.Url = DTconst.Get_Constant_String_Value("SP_m_SiteServerName") & IIf(sPath.StartsWith("/"), "", "/") & sPath & IIf(sPath.EndsWith("/"), "", "/") & sSubsiteURL & DTconst.Get_Constant_String_Value("SP_m_dws_asmx")
        Try

            SPDWS1.DeleteDws()

            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...