Como a: Remover de uma reunião de um Espaço de Trabalho de Reunião
Reuniões você criar a uma lista Eventos não são cancelados ou excluídos quando o associado evento for excluído, e não é possível cancelar ou excluir uma reunião de um site Meeting Workspace a interface de usuário. Esta tarefa programação mostra como você pode remover uma reunião de uma Meeting Workspace criando um aplicativo console que usa métodos de Lists e serviços da Web Meetings reuniões.
Para remover uma reunião de uma Meeting Workspace
Criar um aplicativo console em Microsoft Visual Studio 2005 conforme descrito em Como a: Criar um aplicativo do console.
Adicione referências da Web para o Lists e serviços da Web Meetings reuniões da seguinte maneira:
Clique com o botão direito do mouse em referências da no Gerenciador de Soluções e, em seguida, clique Add Web Reference .
Na caixa URL da Add Web Reference diálogo caixa, tipo de URL para o serviço da Web, incluindo o site para que o serviço se aplica e o diretório virtual para serviços da Web, such as o seguinte:
https://Server/sites/Site_Name/_vti_bin/Lists.asmx
Clique em Adicionar Referência .
Repita este procedimento para adicionar uma referência a Meetings.asmx para o Meetings serviço da Web.
Add a using directive (Imports in Visual Basic) for the System.Xml namespace to Class1.cs.
Adicione o seguinte autenticando o atual, serviços da Web exemplo de código para o Main método principal, que inicia por instanciar o Lists e Meetings usuário para usar os serviços e, em seguida, coleta de entrada a partir de usuário que especifica qual reunião para excluir.
Dim listObj As New Web_Reference.Lists() listObj.Credentials = System.Net.CredentialCache.DefaultCredentials 'Get Meeting Workspace URL. Console.Write("Enter the URL of the Meeting Workspace: ") Dim baseURL As String = Console.ReadLine() 'Set URL properties for both objects. listObj.Url = baseURL + "/_vti_bin/lists.asmx" meetObj.Url = baseURL + "/_vti_bin/meetings.asmx" 'Get meeting InstanceID. Console.Write("Enter the InstanceID of the meeting: ") Dim InstanceID As String = Console.ReadLine() Dim xmlDoc As New XmlDocument() Dim ndQuery As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "") Dim ndViewFields As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "") Dim ndQueryOptions As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "") 'Create Query to filter based on the InstanceID provided. ndQuery.InnerXml = "<Where><Eq><FieldRef name=""ID""/><Value Type=""Counter"">" + InstanceID + "</Value></Eq></Where>" Try 'Call GetListItems Web service to get meeting UID. Dim ndResult As XmlNode = listObj.GetListItems("Meeting Series", "", ndQuery, ndViewFields, "0", ndQueryOptions) Dim MainNode As XmlNode = ndResult.ChildNodes.Item(1) MainNode = MainNode.ChildNodes.Item(1) Dim eventUID As XmlNode = MainNode.Attributes.GetNamedItem("ows_EventUID") Dim UID As String = eventUID.InnerText 'Call RemoveMeeting Web service to cancel meeting. 'NOTE: You might need to increase the sequence number depending 'on how many updates have already been made to the meeting. meetObj.RemoveMeeting(0, UID, 0, DateTime.Now, True) Console.WriteLine("Meeting canceled successfully.") Catch ex As System.Web.Services.Protocols.SoapException Console.WriteLine(("Message:" + ControlChars.Lf + ex.Message + ControlChars.Lf + "Detail:" + ControlChars.Lf + ex.Detail.InnerText + ControlChars.Lf + "StackTrace:" + ControlChars.Lf + ex.StackTrace)) End Try
/*Create necessary objects and set credentials.*/ Web_Reference.Meetings meetObj = new Web_Reference_Folder_Name.Meetings(); meetObj.Credentials = System.Net.CredentialCache.DefaultCredentials; Web_Reference.Lists listObj = new Web_Reference.Lists(); listObj.Credentials = System.Net.CredentialCache.DefaultCredentials; /*Get Meeting Workspace URL.*/ Console.Write("Enter the URL of the Meeting Workspace: "); string baseURL = Console.ReadLine(); /*Set URL properties for both objects.*/ listObj.Url = baseURL + "/_vti_bin/lists.asmx"; meetObj.Url = baseURL + "/_vti_bin/meetings.asmx"; /*Get meeting InstanceID.*/ Console.Write("Enter the InstanceID of the meeting: "); string InstanceID = Console.ReadLine(); XmlDocument xmlDoc = new XmlDocument(); XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element,"Query", ""); XmlNode ndViewFields = xmlDoc.CreateNode(XmlNodeType.Element,"ViewFields",""); XmlNode ndQueryOptions = xmlDoc.CreateNode(XmlNodeType.Element,"QueryOptions",""); // Create query to filter based on the InstanceID provided. ndQuery.InnerXml = @"<Where><Eq><FieldRef name=""ID""/><Value Type=""Counter"">" + InstanceID + "</Value></Eq></Where>"; try { /*Call GetListItems Web service to get meeting UID.*/ XmlNode ndResult = listObj.GetListItems("Meeting Series", "", ndQuery, ndViewFields, "0", ndQueryOptions); XmlNode MainNode = ndResult.ChildNodes.Item(1); MainNode = MainNode.ChildNodes.Item(1); XmlNode eventUID = MainNode.Attributes.GetNamedItem("ows_EventUID"); string UID = eventUID.InnerText; /*Call RemoveMeeting Web service to cancel meeting. NOTE: You might need to increase the sequence number depending on how many updates have already been made to the meeting.*/ meetObj.RemoveMeeting(0, UID, 0, DateTime.Now, true); Console.WriteLine("Meeting canceled successfully."); } catch (System.Web.Services.Protocols.SoapException ex) { Console.WriteLine("Message:\n" + ex.Message + "\nDetail:\n" + ex.Detail.InnerText + "\nStackTrace:\n" + ex.StackTrace); }
The example creates an XmlDocument object, which is used to create nodes for constructing the parameters passed to the GetListItems method. O método GetListItems GetListItems retorna o item a partir Meeting Series lista do site o cuja identificação é igual a identificação de instância especificado pelo usuário. Colaboração de idioma de marcação de aplicativos (CAML) é usado para construção de consulta. O atributo ows_EventUID ows_EventUID que é retornado por meio de GetListItems GetListItems método contém a GUID identificando o site Meeting Workspace a ser excluído, que é passado para o RemoveMeeting método M:websvcMeetings.Meetings.RemoveMeeting(System.UInt32,System.String,System.UInt32,System.DateTime,System.Boolean).
O menu Debug, clique em iniciar para testar o aplicativo.