4.4 Example of Modifying an Identity Object

In this example, the previously created identity object has two of its identity attributes modified by using a Put operation with the IMDA protocol extensions. For the attribute identified by the identity attribute type "addata:description", the previous identity attribute value is replaced with a new value. For "addata:otherTelephone", an additional value is added, giving that attribute a total of three identity attribute values. The dialect used for the identity attribute types is the XPath 1.0-derived dialect from [MS-ADDM] section 2.4.

SOAP Request Message

 <soapenv:Envelope 
    xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing">
   <soapenv:Header>
     <wsa:Action soapenv:mustUnderstand="1">
       http://schemas.xmlsoap.org/ws/2004/09/transfer/Put
     </wsa:Action>
     <IdentityManagementOperation soapenv:mustUnderstand="1" 
 xmlns="http://schemas.microsoft.com/2006/11/IdentityManagement/
 DirectoryAccess" />
     <objectReferenceProperty 
        xmlns="http://schemas.microsoft.com/2008/1/ActiveDirectory">
       51419d0c-cadd-4b70-9c8d-8a73fdd2d32a
     </objectReferenceProperty>
     <instance 
 xmlns="http://schemas.microsoft.com/2008/1/ActiveDirectory">
       ldap:389
     </instance>
     <wsa:MessageID>
       urn:uuid:5fb63904-b05a-408d-8a4a-4d2f9332568e
     </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/Resource</wsa:To>
   </soapenv:Header>
   <soapenv:Body>
     <ModifyRequest Dialect="http://schemas.microsoft.com/2008/1/
 ActiveDirectory/Dialect/XPath-Level-1" 
 xmlns="http://schemas.microsoft.com/2006/11/IdentityManagement/
 DirectoryAccess" 
 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">
       <Change Operation="replace">
         <AttributeType>addata:description</AttributeType>
         <AttributeValue>
           <ad:value xsi:type="xsd:string">New description.
 </ad:value>
         </AttributeValue>
       </Change>
       <Change Operation="add">
         <AttributeType>addata:otherTelephone</AttributeType>
         <AttributeValue>
           <ad:value xsi:type="xsd:string">(212) 555-0100
 </ad:value>
         </AttributeValue>
       </Change>
     </ModifyRequest>
   </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">
   <soapenv:Header>
     <wsa:Action soapenv:mustUnderstand="1">
       http://schemas.xmlsoap.org/ws/2004/09/transfer/PutResponse
     </wsa:Action>
     <wsa:RelatesTo>
       urn:uuid:5fb63904-b05a-408d-8a4a-4d2f9332568e
      </wsa:RelatesTo>
     <wsa:To soapenv:mustUnderstand="1">
       http://www.w3.org/2005/08/addressing/anonymous
     </wsa:To>
   </soapenv:Header>
   <soapenv:Body />
 </soapenv:Envelope>