Share via


Put

The FIM Service Resource Endpoint implements the WS-Transfer: Identity Management Operations for Directory Access Extensions specification (WS-Transfer IMO) version of the Put operation (see). The default endpoint address for Put is https://Localhost:5725/ResourceManagementService/Resource.

Parameters

Action Header

Refer to the WS-Transfer IMO specification.

Reference Property Header

The Reference Property header used by the Resource Factory Endpoint can be used as a parameter for the Get operation. The same device is used as input to the Put operation to identify the object to which the Put operation is to be applied.

Type and Value Element

Put requests to the FIM Resource endpoint are required to identify the elements to be updated. Those elements must be identified in compliance with the WS-Transfer IMO specification using the Identity Attribute Type 1.0 dialect defined in the Identity Attribute Type 1.0 dialect specification.

Change Operation

As an extension to the WS-Transfer IMO specification, the add and delete operations are only supported for inserting and removing values from multi-value attributes. The replace operation is only supported for setting values on single-value attributes. Specifying the incorrect operation will result in an InvalidOperation SOAP Fault.

Return Values

Action Header

Refer to the WS-Transfer IMO specification.

Resource Transfer Header

Refer to the WS-Transfer IMO specification.

Examples

A sample invocation of the Put operation is shown in the following sample. The text in bold indicates what would be specific to the FIM extension of the WS-Transfer specification: the address of the service, the use of the <ResourceReferenceProperty> element as the reference property, the names and values for object properties, and the addition to the Identity Attribute Type 1.0 dialect for identifying objects to be removed from collections.

Sample invocation of the Put operation to add members to a Group

<s:Envelope 
  xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
  xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing" 
  xmlns:rm="https://schemas.microsoft.com/2006/11/ResourceManagement">
  xmlns:da="https://schemas.microsoft.com/2006/11/IdentityManagementService/DirectoryAccess">

   <s:Header>
      <wsa:ReplyTo>
         <wsa:Address>
            http://www.woodgrovebank.com/sender
         </wsa:Address>
      </wsa:ReplyTo>
      <wsa:To>
        http://www.woodgrovebank.com:5725/IdentityManagementService/Resource
      </wsa:To>
      <rm:ResourceReferenceProperty>03CED96B-BE01-4C18-95A5-FCD2FAA09C25</rm:ResourceReferenceProperty>
      <wsa:Action>
        https://schemas.xmlsoap.org/ws/2004/09/transfer/Put
      </wsa:Action>
      <wsa:MessageID>
        uuid:00000000-0000-0000-C000-000000000046
      </wsa:MessageID>
      <rm:ResourceManagement s:mustUnderstand=“true"/>
    </s:Header>
  <s:Body>
    <da:ModifyRequest Dialect=" https://schemas.microsoft.com/2006/11/ResourceManagement/Dialect/IdentityAttributeType-20080602">
      <da:Change Operation="add">
        <da:AttributeType>
          ExplicitMember
        </da:AttributeType>
        <da:AttributeValue>
          <rm:Member>44444444-4444-4444-4444-444444444444</rm:Member>
        </da:AttributeValue>
      </da:Change>
      <da:Change Operation="add">
        <da:AttributeType>
          ExplicitMember
        </da:AttributeType>
        <da:AttributeValue>
          <rm:Member>55555555-5555-5555-5555-555555555555</rm:Member>
        </da:AttributeValue>
      </da:Change>
    </da:ModifyRequest>
  </s:Body>
</s:Envelope>

Sample invocation of the Put operation to remove members of a Group

The following code example uses the Identity Attribute Type 1.0 dialect to identify a value to be removed.

<s:Envelope 
  xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
  xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing" 
  xmlns:rm="https://schemas.microsoft.com/2006/11/ResourceManagement">
  xmlns:da="https://schemas.microsoft.com/2006/11/IdentityManagementService/DirectoryAccess">
  <s:Header>
    <wsa:ReplyTo>
      <wsa:Address>
        http://www.woodgrovebank.com/sender
      </wsa:Address>
    </wsa:ReplyTo>
    <wsa:To>
      http://www.woodgrovebank.com:5725/IdentityManagementService/Resource
    </wsa:To>
    <rm:ResourceReferenceProperty>03CED96B-BE01-4C18-95A5-FCD2FAA09C25</rm:ResourceReferenceProperty>
    <wsa:Action>
      https://schemas.xmlsoap.org/ws/2004/09/transfer/Put
    </wsa:Action>
    <wsa:MessageID>
      uuid:00000000-0000-0000-C000-000000000046
    </wsa:MessageID>
    <rm:ResourceManagement s:mustUnderstand=“true"/>
  </s:Header>
  <s:Body>
    <da:ModifyRequest Dialect="https://schemas.microsoft.com/2006/11/ResourceManagement/Dialect/IdentityAttributeType-20080602">
      <da:Change Operation="delete">
        <da:AttributeType>
          ExplicitMember
        </da:AttributeType>
        <da:AttributeValue>
44444444-4444-4444-4444-444444444444
        </da:AttributeValue>
      </da:Change>
      <da:Change Operation="delete">
        <da:AttributeType>
          ExplicitMember
        </da:AttributeType>
        <da:AttributeValue>
55555555-5555-5555-5555-555555555555
        </da:AttributeValue>
      </da:Change>
    </da:ModifyRequest>
  </s:Body>
</s:Envelope>

Sample invocation of the Put operation to update the display name of an ma-data object

The following code example uses the Identity Attribute Type 1.0 dialect to replace single-value attributes. The DisplayName of an ma-data resource is replaced with the value "AD Management Agent".

<s:Envelope  
   xmlns:s="http://www.w3.org/2003/05/soap-envelope"  
      xmlns:wsa="http://www.w3.org/2005/08/addressing" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:da="https://schemas.microsoft.com/2006/11/IdentityManagement/DirectoryAccess"      
xmlns:rm="https://schemas.microsoft.com/2006/11/ResourceManagement"> 
  <s:Header> 
    <wsa:Action> 
      https://schemas.xmlsoap.org/ws/2004/09/transfer/Put 
    </wsa:Action> 
    <da:IdentityManagementOperation s:mustUnderstand="1" /> 
    <rm:ResourceReferenceProperty> 
      urn:uuid:fa14aafd-d74b-4833-bd94-94c96ee1b278 
    </rm:ResourceReferenceProperty> 
    <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> 
      http://www.fabrikam.com:5725/IdentityManagementService/Resource 
    </wsa:To> 
  </s:Header> 
  <s:Body> 
    <da:ModifyRequest Dialect=" 
https://schemas.microsoft.com/2006/11/ResourceManagement/Dialect/IdentityAttributeType-
20080602"> 
      <da:Change Operation="replace"> 
        <da:AttributeType>DisplayName</da:AttributeType> 
        <da:AttributeValue> 
          <rm:DisplayName>AD Management Agent</rm:DisplayName> 
        </da:AttributeValue> 
      </da:Change> 
    </da:ModifyRequest> 
  </s:Body> 
</s:Envelope>

Remarks

The Alternate Endpoint implements a Put operation similar to that of the Resource endpoint.

See Also

Concepts

Resource Endpoint
Alternate Endpoint