4.1 WS-Transfer LDAP v3 Controls Extensions Create Example

In this example, a new directory object is created using a Create operation with the [MS-WSTIM] protocol extensions. During the creation, an LDAP control (LDAP_SERVER_LAZY_COMMIT_OID) ([MS-ADTS] section 3.1.1.3.4.1.7) is added to the request, which instructs the DC that it can sacrifice durability guarantees on updates to improve performance. Sending this control to the DC does not cause the server to include any controls in its response.

SOAP Request Message

 <soapenv:Envelope
    xmlns: soapenv="http://www.w3.org/2003/05/soap-envelope"
    xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:wxf="http://schemas.xmlsoap.org/ws/2004/09/transfer"
    xmlns:ad="http://schemas.microsoft.com/2008/1/ActiveDirectory"
    xmlns:addata=
 "http://schemas.microsoft.com/2008/1/ActiveDirectory/Data" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     <soapenv:Header>
       <wsa:Action soapenv:mustUnderstand="1">
         http://schemas.xmlsoap.org/ws/2004/09/transfer/Create
       </wsa:Action>
       <IdentityManagementOperation soapenv:mustUnderstand="1" xmlns=
 "http://schemas.microsoft.com/2006/11/IdentityManagement/
 DirectoryAccess" />
       <instance xmlns="http://schemas.microsoft.com/2008/1/
 ActiveDirectory">
         ldap:389
       </instance>
       <wsa:MessageID>
         urn:uuid:e0a0abb3-0c4f-4679-ad0c-366078c47c32
       </wsa:MessageID>
       <wsa:ReplyTo>
         <wsa:Address>http://www.w3.org/2005/08/addressing/
 anonymous</wsa:Address>
       </wsa:ReplyTo>
       <wsa:To soapenv:mustUnderstand="1">
 net.tcp://server01.fabrikam.com:9389/ActiveDirectoryWebServices/
 Windows/ResourceFactory</wsa:To>
     </soapenv:Header>
     <soapenv:Body>
       <AddRequest Dialect="http://schemas.microsoft.com/2008/1/
 ActiveDirectory/Dialect/XPath-Level-1"
 xmlns="http:"//schemas.microsoft.com/2006/11/IdentityManagement/
 DirectoryAccess>        <AttributeTypeAndValue>
         <AttributeType>addata:objectClass</AttributeType>
         <AttributeValue>
           <ad:value xsi:type="xsd:string">user</ad:value>
         </AttributeValue>
       </AttributeTypeAndValue>
       <AttributeTypeAndValue>
         <AttributeType>addata:description</AttributeType>
         <AttributeValue>
           <ad:value xsi:type="xsd:string">Sample description.
 </ad:value>
         </AttributeValue>
       </AttributeTypeAndValue>
       <AttributeTypeAndValue>
         <AttributeType>addata:otherTelephone</AttributeType>
         <AttributeValue>
           <ad:value xsi:type="xsd:string">(425) 555-0100
 </ad:value>
           <ad:value xsi:type="xsd:string">(206) 555-0100
 </ad:value>
         </AttributeValue>
       </AttributeTypeAndValue>
       <AttributeTypeAndValue>
         <AttributeType>ad:container-hierarchy-parent
 </AttributeType>
         <AttributeValue>
           <ad:value xsi:type="xsd:string">
             CN=Users,DC=fabrikam,DC=com
           </ad:value>
         </AttributeValue>
       </AttributeTypeAndValue>
       <AttributeTypeAndValue>
         <AttributeType>ad:relativeDistinguishedName
 </AttributeType>
         <AttributeValue>
           <ad:value xsi:type="xsd:string">CN=Sample User
 </ad:value>
         </AttributeValue>
       </AttributeTypeAndValue>
       <ad:controls>
         <ad:control type='1.2.840.113556.1.4.619' 
 criticality='true' />
       </ad:controls>
       </AddRequest>
     </soapenv:Body>
   </soapenv:Envelope>
  

SOAP Response Message

 <soapenv:Envelope
       xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
       xmlns:wsa="http://www.w3.org/2005/08/addressing"
       xmlns:wxf="http://schemas.xmlsoap.org/ws/2004/09/transfer"
       xmlns:ad="http://schemas.microsoft.com/2008/1/
 ActiveDirectory">
   <soapenv:Header>
     <wsa:Action soapenv:mustUnderstand="1">
       http://schemas.xmlsoap.org/ws/2004/09/transfer/
 CreateResponse
     </wsa:Action>
     <wsa:RelatesTo>
       urn:uuid:e0a0abb3-0c4f-4679-ad0c-366078c47c32
     </wsa:RelatesTo>
     <wsa:To soapenv:mustUnderstand="1">
       http://www.w3.org/2005/08/addressing/anonymous
     </wsa:To>
   </soapenv:Header>
   <soapenv:Body>
     <wxf:ResourceCreated>       <wsa:Address>net.tcp://
 server01.fabrikam.com:9389/ActiveDirectoryWebServices/Windows/
 Resource</wsa:Address>
       <wsa:ReferenceParameters>
         <ad:objectReferenceProperty>
           afc7af4d-951b-4ae7-b80e-6dacae67ceb
         </ad:objectReferenceProperty>
         <ad:instance>ldap:389</ad:instance>
       </wsa:ReferenceParameters>
     </wxf:ResourceCreated>
   </soapenv:Body>
   </soapenv:Envelope>