This documentation is archived and is not being maintained.

QueryService.QueryEx Method

Windows SharePoint Services 3
Returns an ADO.NET DataSet containing a DataTable for each search results set returned for the specified query.

Web Service: SearchWeb Reference: http://<Site>/_vti_bin/Search.asmx

[SoapDocumentMethodAttribute("", RequestNamespace="", ResponseNamespace="", Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)] 
public DataSet QueryEx (
	string queryXml



A string specifying the search query XML. The XML format is defined by the Microsoft.Search.Query Schema for Enterprise Search.

Return Value

A System.Data.DataSet object containing a System.Data.DataTable object for each search result set.

For queries containing a simple list of search terms, set the type attribute for the QueryText Element in Microsoft.Search.Query Schema for Enterprise Search element of the Microsoft.Search.Query schema to 'STRING'. For SQL syntax queries, set the type attribute to 'MSSQLFT'.

If anonymous access is disabled for the Query web service's Microsoft Office SharePoint Server 2007 web application you must specify the credentials for the web service request using the Credentials property. The search results are trimmed based on the credentials of the current context of the request.

The DataSet returned by the QueryEx method can contain multiple result sets. Each result set will be a DataTable within the DataSet. The DataTable name is based on the types of results included in the result set for that DataTable. These are:

  • Relevant results

  • Special-term results

  • High-confidence results

The default sort order is relevance rank.

Using elements from the Microsoft.Search.Query schema, you can specify the following for the result set returned by the Query web method:

The following code example shows how to invoke the Query method. This example assumes the following:

  • You have referenced the web service proxy class, here called QueryWebServiceProxy, in your code.

  • You have instantiated a string variable, queryXMLString, and set the value of this variable to the XML string containing the search query.

QueryWebServiceProxy.QueryService queryService = new QueryWebServiceProxy.QueryService();
queryService.Credentials = System.Net.CredentialCache.DefaultCredentials;
string queryResultsString = queryService.Query(queryXMLString);

Setting the proxy class Credentials property to the DefaultCredentials property of the System.Net.CredentialCache class allows you to use the credentials for the identity that the client application is running under for the web service request.