SearchControl DataObject

SearchControl permet d'indiquer des critères de recherche.

La structure d'un objet de données SearchControl se compose des éléments suivants :
countLimit
nombre maximal de résultats renvoyés par l'opération de recherche. Si le nombre actuel de résultats de la recherche est supérieur au nombre limite indiqué, la propriété hasMoreResults de la commande SearchResponse est définie sur True.
Remarque : La propriété countLimit ne peut être indiquée pour SearchControl, si PageControl est également utilisé. Elles sont incompatibles.
expression
expression de recherche au format XPath.
propriétés
propriétés que vous souhaitez recevoir des entités qui répondent aux critères de recherche. Par exemple, vous souhaitez obtenir les attributs sn et givenName des personnes du service marketing.
returnSubType
indique s'il faut renvoyer les sous-types des entités indiquées dans l'expression. Par défaut, le paramètre est défini sur True.
searchBases
indique les bases de recherche permettant de limiter la recherche à celles spécifiées dans la liste.
searchLimit
nombre maximal de résultats pouvant être renvoyés par l'opération de recherche. Si les résultats de la recherche dépassent le plus petit nombre indiqué par searchLimit dans SearchControl ou par maxSearchResults dans le fichier wimconfig.xml, une exception MaxResultsExceededException est émise. Si le paramètre searchLimit est défini, alors countLimit est ignoré. Si countLimit est défini, vous devez alors configurer searchLimit sur 0.
timeLimit
Si le référentiel de profil prend en charge le délai, il indique la durée maximale de recherche en milliseconde.

Définition de schéma XML

Vous trouverez ci-dessous la définition du schéma XML pour l'objet de données SearchControl :
<xsd:complexType name="SearchControl">
    <xsd:complexContent>
	 <xsd:extension base="PropertyControl">
	     <xsd:sequence>
		  <xsd:element name="searchBases" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
	     </xsd:sequence>
	     <xsd:attribute name="countLimit" type="xsd:int" />
	     <xsd:attribute name="searchLimit" type="xsd:int" />
	     <xsd:attribute name="timeLimit" type="xsd:int" default="0"/>
	     <xsd:attribute name="expression" type="xsd:string"/>
	     <xsd:attribute name="returnSubType" type="xsd:boolean" default="true"/>
	 </xsd:extension>
    </xsd:complexContent>
	</xsd:complexType>

Objet de données exemple

Voici un exemple d'objet de données SearchControl utilisé dans l'API de recherche. Il lance une requête sur toutes les personnes avec un nom de famille, Doe. Il demande également à renvoyer les propriétés uid et sn, le cas échéant.
<wim:controls xsi:type="wim:SearchControl" countLimit="1" 
            expression="@xsi:type='PersonAccount' and sn='Doe'">
    <wim:properties>uid</wim:properties>
    <wim:properties>sn</wim:properties>
    <wim:searchBases>o=Sales,cn=users,dc=yourco,dc=com</wim:searchBases>
</wim:controls>


Conditions d'utilisation | Commentaires