3.1.4.1 Execute

This operation is used to execute a search query and retrieve a list of links to items, crawled locally by the protocol server or provided by another search engine, that are relevant to the search query, together with associated properties.

The following is the WSDL port type specification of the Execute WSDL operation.

 <wsdl:operation name="Execute" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
   <wsdl:input wsaw:Action="http://tempuri.org/ISearchQueryServiceApplication/Execute" message="tns:ISearchQueryServiceApplication_Execute_InputMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:output wsaw:Action="http://tempuri.org/ISearchQueryServiceApplication/ExecuteResponse" message="tns:ISearchQueryServiceApplication_Execute_OutputMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
   <wsdl:fault wsaw:Action="http://tempuri.org/ISearchQueryServiceApplication/ExecuteSearchServiceApplicationFaultFault" name="SearchServiceApplicationFaultFault" message="tns:ISearchQueryServiceApplication_Execute_SearchServiceApplicationFaultFault_FaultMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"/>
 </wsdl:operation>

The protocol client sends an ISearchQueryServiceApplication_Execute_InputMessage request message, as specified in section 3.1.4.1.1.1, and the protocol server responds with an ISearchQueryServiceApplication_Execute_OutputMessage response message, as specified in section 3.1.4.1.1.2, as follows:

  • The client formulates a search query that specifies which items to retrieve, which result source to retrieve them from, how to sort the retrieved items, and which properties to retrieve for each item, as specified in section 3.1.1. On receipt, the protocol server interprets the search query and assembles a list of items that are relevant to the search query. Then, it retrieves the properties for each result that were specified in the search query, and includes them in the response to the search query.

  • If the properties element is absent or is empty, the protocol server MUST return a FaultException<ExceptionDetail> error message.

  • If the properties element conforms to the schema of the KeywordQueryProperties data type, as specified in section 3.1.4.7.3.1, and if for at least one managed property specified in the properties.SelectProperties element, the Retrievable flag, as specified in section 3.1.1.3, is not set to "true", the protocol server MUST return a FaultException<SearchServiceApplicationFault> error message.

  • If the properties element conforms to the schema of the KeywordQueryProperties data type, as specified in section 3.1.4.7.3.1, and if the same managed property is specified more than once in the properties.SelectProperties element, the protocol server MUST return a FaultException<SearchServiceApplicationFault> error message.

  • If the time required by the protocol server to interpret the search query and assemble the list of items that are relevant to the search query takes longer than the time specified in the properties.Timeout element, the protocol server MUST return a FaultException<SearchServiceApplicationFault> error message.

  • On any error processing the request, the protocol server MUST return a FaultException<ExceptionDetail> error message.