Tutorial: Consultas a SharePoint Search desde una aplicación cliente
Última modificación: martes, 20 de julio de 2010
Hace referencia a: SharePoint Server 2010
Se aplica a: Búsqueda de Microsoft SharePoint Server 2010 y Microsoft FAST Search Server 2010 for SharePoint
El servicio web de consulta expone las capacidades de Búsqueda de SharePoint Server Enterprise en Microsoft SharePoint Server 2010 a las aplicaciones cliente.
Nota
En este contexto, la aplicación cliente hace referencia a las aplicaciones que llaman al servicio web de consulta . Esto puede incluir aplicaciones como las aplicaciones web de Microsoft ASP.NET o las aplicaciones de Windows Forms.
El método web QueryEx del servicio web de consulta envía una consulta al servicio de consulta y devuelve los resultados en un objeto DataSet. En el siguiente tutorial se describe cómo usar el servicio web de consulta para devolver resultados de la Búsqueda de SharePoint Server a una aplicación cliente de Windows mediante el método web QueryEx y se incluyen las siguientes tareas:
Configuración de la aplicación cliente
Hacer referencia a los servicios de web de consulta de la aplicación cliente
Modificar el formulario de la aplicación cliente
Codificación de la aplicación cliente
Prueba de la aplicación cliente
Para realizar este tutorial, compruebe lo siguiente:
Microsoft Visual Studio 2010 está instalado en el equipo de desarrollo.
Tiene permisos para tener acceso a un sitio de SharePoint configurado para usar la característica de Búsqueda de SharePoint Server.
Para configurar la aplicación cliente
En Visual Studio 2010, en el menú Archivo, elija Nuevo y, a continuación, haga clic en Proyecto.
En Plantillas instaladas, expanda Visual C# y, a continuación, haga clic en Windows.
Seleccione Aplicación de Windows Forms. En el campo Nombre, escriba QueryExClientSample y, a continuación, haga clic en Aceptar.
Para agregar una referencia web al servicio web de consulta
En el Explorador de soluciones, haga clic con el botón secundario en el nombre del proyecto y a continuación haga clic en Agregar referencia de servicio.
En el cuadro de diálogo Agregar referencia de servicio, haga clic en Avanzada.
En el cuadro de diálogo Configuración de referencia de servicio, haga clic en Agregar referencia web.
En el cuadro de diálogo Agregar referencia web, en el campo de texto URL, escriba la siguiente dirección: http://SERVIDOR/_vti_bin/search.asmx. Reemplace SERVIDOR con la dirección URL del sitio de SharePoint y, a continuación, haga clic en Ir.
Cuando se encuentra el servicio web, la página del servicio web QueryService se muestra en la ventana principal del cuadro de diálogo Agregar referencia web. Escriba QueryWebServiceProxy en el campo Nombre de referencia web y, a continuación, haga clic en Agregar referencia.
Para modificar el formulario predeterminado de la aplicación cliente
En el Explorador de soluciones, haga doble clic en el formulario (Form1 si está utilizando el formulario predeterminado).
En el cuadro de herramientas, expanda Controles comunes, haga clic en Botón y, a continuación, arrastre el control al formulario. En Propiedades, cambie (Nombre) a queryButton y escriba Query en la propiedad Texto.
En el cuadro de herramientas, haga clic en TextBox y, a continuación, arrastre el control al formulario. En Propiedades, cambie (Nombre) a QueryTextBox y establezca MultiLine en true.
En el cuadro de herramientas, expanda Datos, haga clic en DataGridView y, a continuación, arrastre el control al formulario. En Propiedades, cambie (Nombre) a resultsGrid.
En el cuadro de herramientas, haga clic en Etiqueta y, a continuación, arrastre el control al formulario. En Propiedades, cambie (Nombre) a resultsLabel y, a continuación, elimine el contenido de la propiedad Texto.
Para escribir el código de la aplicación cliente
Haga doble clic en queryButton para agregar un controlador de eventos al evento Click. Se abrirá el Editor de código con el cursor colocado en el controlador de eventos queryButton_Click.
Agregue el siguiente código al evento queryButton_Click.
try { // Instantiate the Web service. QueryWebServiceProxy.QueryService queryService = new QueryWebServiceProxy.QueryService(); // Use the credentials of the user running the client application. queryService.Credentials = System.Net.CredentialCache.DefaultCredentials; //Execute the QueryEx method, returning the results to a DataSet System.Data.DataSet queryResults = queryService.QueryEx(GetXMLString()); // Set the DataGridView data source to the first table in the DataSet oject, which contains the relevant results. resultsGrid.DataSource = queryResults.Tables[0]; } catch (Exception ex) { resultsLabel.Text = ex.ToString(); }
La cadena pasada al método QueryEx se crea en la función GetXMLString. Agregue el siguiente código a la clase Form1 para crear la función GetXMLString.
private string GetXMLString() { /* The proceeding six lines of code is actually one line of code. It is separated into four lines here for readability. You will need to remove the line breaks when you copy the code to your project. */ StringBuilder xmlString = new StringBuilder("<QueryPacket xmlns='urn:Microsoft.Search.Query'> <Query><SupportedFormats><Format revision='1'> urn:Microsoft.Search.Response.Document:Document </Format></SupportedFormats><Context><QueryText language='en-US' type='STRING'>"); xmlString.Append(queryTextBox.Text); xmlString.Append("</QueryText></Context></Query></QueryPacket>"); return xmlString.ToString(); }
Para probar la aplicación cliente
Presione F5 para compilar y ejecutar la aplicación cliente.
Escriba una consulta de palabras clave en el cuadro de texto. Vea Referencia de sintaxis de consulta de palabras clave para obtener información acerca de cómo crear consultas de palabras clave.
Haga clic en Consulta para enviar la consulta de palabras clave al servicio web de consulta. Si se devuelven resultados, se mostrarán en el control DataGridView.
Vea también
Referencia
QueryService
Conceptos
Uso del servicio web de consulta
Creación de consultas de búsqueda