2.2.3.1 ad:controls

ad:controls is an optional element to be specified by the client. In cases where a response control is required to be returned when the client sends an LDAP v3 request control, the server MUST return an LDAP v3 response control.<2>

The optional ad:controls element, if present:

  • MUST be a child element to the Body element of the SOAP request and response message in the case of Get and Delete [WXFR] operations.

  • MUST be a child element to the da:BaseObjectSearchRequest, da:AddRequest, and da:ModifyRequest element in the SOAP request message (and  da:BaseObjectSearchResponse, soapenv:Body, and soapenv:Body element in the SOAP response message) in cases of Get, Create, and Put [MS-WSTIM] operations, respectively.

  • MUST be a child element to the wsen:Pull element of the  SOAP request message and the wsen:PullResponse element of the SOAP response message in the case of a Pull [WSENUM] operation.

Additionally, the ad:controls element MUST be the last child element in the SOAP response. WSPELD through this element specifies the support for including LDAP request controls sent through SOAP request messages. The messages pertain to various operations and LDAP response controls that are returned by the directory server to the caller in the SOAP response messages of respective operations.

The XML Schema [XMLSCHEMA1] definition of the controls element is as follows.

 <xsd:element name="controls">
     <xsd:complexType>
         <xsd:sequence>
             <xsd:element ref="ad:control"
                          minOccurs="1" maxOccurs="unbounded" />
         </xsd:sequence>
     </xsd:complexType>
 </xsd:element>

For example, the following XML shows the contents of the controls element.

 <ad:controls>
     <ad:control type="OID as xsi:string" criticality="true|false">
     <ad:controlValue xsi:type="xsd:base64Binary">
           [base-64 encoded value]
     </ad:controlValue>
 </ad:control>
 </ad:controls>