Procedimiento para personalizar áreas de trabajo de reunión mediante el servicio web Meetings
Última modificación: miércoles, 07 de julio de 2010
Hace referencia a: SharePoint Foundation 2010
El servicio web Meetings permite crear y administrar sitios de área de trabajo de reuniones. En este tema se describe cómo usar los servicios web para realizar las tareas siguientes:
Identificar sitios de área de reuniones existentes.
Crear nuevos sitios de área de reuniones y agregar reuniones.
Eliminar sitios de área de reuniones.
Actualizar la información de la reunión en un sitio de área de reuniones.
Procedimientos
Antes de comenzar, cree una aplicación de Windows Forms en Microsoft Visual Studio. Para obtener información acerca de cómo establecer una referencia web a un servicio web de Microsoft SharePoint Foundation, vea Instrucciones para los servicios web.
Para identificar los sitios de área de reuniones existentes
En el siguiente ejemplo de código, se enumeran los sitios de área de trabajo de reuniones que existen en el servidor.
Nota
En el ejemplo, se supone que ServerURLTextBox es un elemento de interfaz que se ha agregado a un formulario del proyecto.
Dim ws As New mywss001.Meetings() Dim myCache As New System.Net.CredentialCache() Private Sub ListMWS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListMWS.Click ws.Credentials = myCache.DefaultCredentials() ws.Url = ServerURLTextBox.Text If (ws.Url.EndsWith("/")) Then ws.Url = ws.Url.Remove(ws.Url.Length - 1, 1) End If ws.Url = ws.Url + "/_vti_bin/meetings.asmx" Dim GetMeetingWorkspacesResponse As System.Xml.XmlNode If (ws.Url <> "") Then GetMeetingWorkspacesResponse = ws.GetMeetingWorkspaces(True) End If Dim OuterXml As String OuterXml = GetMeetingWorkspacesResponse.OuterXml() MsgBox("OuterXml") End Sub
mywss001.Meetings ws = new mywss001.Meetings(); System.Net.CredentialCache myCache = new System.Net.CredentialCache(); private void ListMWS_Click(System.Object sender, System.EventArgs e) { ws.Credentials = myCache.DefaultCredentials(); ws.Url = ServerURLTextBox.Text; if ((ws.Url.EndsWith("/"))) { ws.Url = ws.Url.Remove(ws.Url.Length - 1, 1); } ws.Url = ws.Url + "/_vti_bin/meetings.asmx"; System.Xml.XmlNode GetMeetingWorkspacesResponse = default(System.Xml.XmlNode); if ((!string.IsNullOrEmpty(ws.Url))) { GetMeetingWorkspacesResponse = ws.GetMeetingWorkspaces(true); } string OuterXml = null; OuterXml = GetMeetingWorkspacesResponse.OuterXml(); Interaction.MsgBox("OuterXml"); }
Para crear un nuevo sitio de área de reuniones y agregar una reunión al sitio
En el siguiente ejemplo de código, se crea un sitio de área de trabajo de reuniones y se agrega una reunión a él.
Nota
En el ejemplo, se supone que ServerURLTextBox, MeetingSubjectTextBox, MeetingLocationTextBox, DTSTARTTextBox, DTENDTextBox y CreateWorkspaceButton son elementos de la interfaz que se han agregado a un formulario del proyecto.
Dim ws As New mywss001.Meetings() Dim tz As New mywss001.TimeZoneInf() Dim myCache As New System.Net.CredentialCache() Dim UID As Integer Dim Sequence As UInt32 Private Sub CreateWorkspaceButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CreateWorkspaceButton.Click ws.Credentials = myCache.DefaultCredentials() ws.Url = ServerURLTextBox.Text If (ws.Url.EndsWith("/")) Then ws.Url = ws.Url.Remove(ws.Url.Length - 1, 1) End If ws.Url = ws.Url + "/_vti_bin/meetings.asmx" Dim CreateWorkspaceResponse As System.Xml.XmlNode If (ws.Url <> "") Then CreateWorkspaceResponse = ws.CreateWorkspace(MeetingSubjectTextBox.Text, "MPS#0", System.UInt32.Parse("1033"), tz) End If Dim OuterXml As String OuterXml = CreateWorkspaceResponse.OuterXml() Dim MWSURL As String Dim Start As Integer Dim Finish As Integer Start = OuterXml.IndexOf("""") Finish = OuterXml.IndexOf("""", Start + 1) MWSURL = OuterXml.Substring(Start + 1, Finish - Start - 1) Dim MyRand As New System.Random() UID = MyRand.Next(100, 10000) Sequence.ToString("0") ws.Url = MWSURL + "/_vti_bin/meetings.asmx" ws.AddMeeting("", UID.ToString, Sequence, "2003-03-27T15:00:00-08:00", MeetingSubjectTextBox.Text, MeetingLocationTextBox.Text, DTSTARTTextBox.Text, DTENDTextBox.Text, False) MWSURLLink.Text = MWSURL End Sub
mywss001.Meetings ws = new mywss001.Meetings(); mywss001.TimeZoneInf tz = new mywss001.TimeZoneInf(); System.Net.CredentialCache myCache = new System.Net.CredentialCache(); int UID; UInt32 Sequence; private void CreateWorkspaceButton_Click(System.Object sender, System.EventArgs e) { ws.Credentials = myCache.DefaultCredentials(); ws.Url = ServerURLTextBox.Text; if ((ws.Url.EndsWith("/"))) { ws.Url = ws.Url.Remove(ws.Url.Length - 1, 1); } ws.Url = ws.Url + "/_vti_bin/meetings.asmx"; System.Xml.XmlNode CreateWorkspaceResponse = default(System.Xml.XmlNode); if ((!string.IsNullOrEmpty(ws.Url))) { CreateWorkspaceResponse = ws.CreateWorkspace(MeetingSubjectTextBox.Text, "MPS#0", System.UInt32.Parse("1033"), tz); } string OuterXml = null; OuterXml = CreateWorkspaceResponse.OuterXml(); string MWSURL = null; int Start = 0; int Finish = 0; Start = OuterXml.IndexOf("\""); Finish = OuterXml.IndexOf("\"", Start + 1); MWSURL = OuterXml.Substring(Start + 1, Finish - Start - 1); System.Random MyRand = new System.Random(); UID = MyRand.Next(100, 10000); Sequence.ToString("0"); ws.Url = MWSURL + "/_vti_bin/meetings.asmx"; ws.AddMeeting("", UID.ToString, Sequence, "2003-03-27T15:00:00-08:00", MeetingSubjectTextBox.Text, MeetingLocationTextBox.Text, DTSTARTTextBox.Text, DTENDTextBox.Text, false); MWSURLLink.Text = MWSURL; }
Para eliminar un sitio de área de reuniones
En el siguiente ejemplo de código, se elimina un sitio de área de trabajo de reuniones especificado.
Nota
En el ejemplo, se supone que MWSURLLink contiene la dirección URL del sitio de área de trabajo de reuniones.
Private Sub DeleteWorkspaceButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteWorkspaceButton.Click ws.Credentials = myCache.DefaultCredentials() ws.Url = MWSURLLink.Text + "/_vti_bin/meetings.asmx" ws.DeleteWorkspace() End Sub
private void DeleteWorkspaceButton_Click(System.Object sender, System.EventArgs e) { ws.Credentials = myCache.DefaultCredentials(); ws.Url = MWSURLLink.Text + "/_vti_bin/meetings.asmx"; ws.DeleteWorkspace(); }
Para actualizar la información de la reunión en un sitio de área de reuniones
En el siguiente ejemplo de código, se actualiza una reunión que existe en un sitio de área de trabajo de reuniones.
Nota
En el ejemplo, se supone que MWSURLLink, MeetingSubjectTextBox, MeetingLocationTextBox, DTSTARTTextBox, DTENDTextBox y CreateWorkspaceButton son elementos de la interfaz que se han agregado a un formulario del proyecto.
Private Sub UpdateMeetingButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpdateMeetingButton.Click ws.Credentials = myCache.DefaultCredentials() ws.Url = MWSURLLink.Text + "/_vti_bin/meetings.asmx" Sequence.ToString("0") ws.UpdateMeeting(UID, Sequence, "2003-03-27T15:00:00-08:00", MeetingSubjectTextBox.Text, MeetingLocationTextBox.Text, DTSTARTTextBox.Text, DTENDTextBox.Text, False) End Sub
private void UpdateMeetingButton_Click(System.Object sender, System.EventArgs e) { ws.Credentials = myCache.DefaultCredentials(); ws.Url = MWSURLLink.Text + "/_vti_bin/meetings.asmx"; Sequence.ToString("0"); ws.UpdateMeeting(UID, Sequence, "2003-03-27T15:00:00-08:00", MeetingSubjectTextBox.Text, MeetingLocationTextBox.Text, DTSTARTTextBox.Text, DTENDTextBox.Text, false); }