2009-09-22 5 views
0

SharePoint 웹 서비스를 사용해야합니다. SharePoint 하위 사이트를 삭제할 웹 서비스가 필요합니다. DeleteWorkspace 메서드 (Meetings.asmx 웹 서비스)를 사용하려고 시도했지만 작업 영역을 충족하는 하위 사이트 만 삭제할 수 있습니다 (광산에서는 팀 사이트에서 파생 된 사용자 지정 템플릿을 사용함). 어떤 도움을 주시면 감사하겠습니다.SharePoint 웹 서비스를 사용하여 SharePoint 하위 사이트를 삭제하려면 어떻게해야합니까?

답변

1

놀랍게도! 아니, 그럴 수 없어 .... 알아. 그것이 빠져 버린 이상한. 나는 왜 그런지에 대해 결정을 내렸을 것입니다.

이벤트 수신자 또는 웹 서비스 중 하나만 사용자 지정 코드를 배포 할 수 있습니다.

+0

@DJ : 이상하지 않습니다. 이러한 웹 서비스에는 엄청난 양의 기능이 없습니다. 이 예상은 SharePoint 2010에서 해결 될 것입니다! –

+0

Alex, DeleteSite에 DeleteList 등이 있지만 웹 객체가 누락 되었습니까? 그게 내 책에 이상한데. –

+0

@DJ : 우리는 여기에 동의한다고 생각합니다. 요점은 웹 서비스가 일관성없는 기능을 제공한다는 것입니다. 내 요점은 그들이 기능을 모두 놓친다는 것이다. 최종 결과 : 그들은 빨아. –

1

불행히도 이것은 기본 웹 서비스에서는 불가능합니다. (사이트 모음 수준에서만 삭제 기능을 제공합니다.)

custom web service을 개발하여 SharePoint 팜에 배포해야합니다.

+0

답장을 보내 주셔서 감사합니다. SharePoint 웹 서비스는 지금까지 큰 시간을 낭비합니다. – Boris

0

사이트를 삭제하려면 dws webservice를 사용해보십시오.

내가 사용하는 functoins 벤 같은 _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 
0

같은 get_constant 등 간단한 돌아 로그인 상수 및 웹 서비스가 작동해야 /_vti_bin/Dws.asmx을 사용하여 말한다 DWS.DeleteDWS(). 당신은 셰어 포인트 2013으로 업그레이드하는 경우 여기에 또 다른 예를

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; 
    } 
1

을의의 Sites 웹 서비스의 새로운 방법이있다 : DeleteWeb. 웹 서비스를 연결 한 사이트를 기준으로 삭제할 하위 사이트의 URL이 필요합니다.

--- 페르다

관련 문제