SearchControl se utiliza para especificar los criterios de la búsqueda.
La estructura de un objeto de datos SearchControl está formada por los elementos siguientes:
- countLimit
- especifica el número máximo de resultados de la búsqueda devueltos por la operación
de búsqueda. Si el número real de resultados de la búsqueda supera el countLimit
especificado, la propiedad hasMoreResults del control SearchResponse se establece en true
(verdadero).
Nota: La propiedad countLimit no se puede especificar para SearchControl,
si también se utiliza PageControl. Son mutuamente exclusivos.
- expression
- especifica la expresión de búsqueda en formato XPath.
- properties
- especifica las propiedades que desea que se devuelvan de las entidades que coinciden
con los criterios de búsqueda. Por ejemplo, desea obtener los atributos sn y givenName de
las personas que están en el departamento de marketing.
- returnSubType
- especifica si deben devolverse los subtipos de las entidades especificadas en la
expresión. El valor predeterminado es true (verdadero).
- searchBases
- especifica las bases de búsqueda para limitar la búsqueda a las bases especificadas
en la lista.
- searchLimit
- especifica el número máximo de resultados de la búsqueda que puede devolver la operación
de búsqueda. Si los resultados de la búsqueda superan el número más pequeño de
searchLimit especificado en SearchControl o de maxSearchResults especificado en el
archivo wimconfig.xml, se emite una excepción MaxResultsExceededException. Si se establece
searchLimit, se omite countLimit. Si se establece countLimit, searchLimit debe
establecerse en 0.
- timeLimit
- Si el depósito del perfil da soporte a timeLimit, especifica en milisegundos la
duración máxima de la búsqueda.
Definición de esquema XML
A continuación se proporciona la definición del esquema XML para el objeto de datos 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>
Objeto de datos de ejemplo
A continuación se
proporciona un SearchControl DataObject de ejemplo utilizado en la API de búsqueda
(search). Solicita todas las personas que tienen el apellido (surname) Doe. También
indica que se devuelvan las propiedades uid y sn, si existen.
<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>