3.2.4.2 Put

A server processes a Put request using the IMDA protocol extensions upon receiving a SOAP message containing the IdentityManagementOperation SOAP header and specifying the following URI as the SOAP action.

http://schemas.xmlsoap.org/ws/2004/09/transfer/Put

This operation is specified by the following WSDL.

 <wsdl:operation name="Put">
     <wsdl:input 
             message="ModifyRequestMessage" 
             wsa:Action="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put" />
     <wsdl:output 
      message="ModifyResponseMessage" 
      wsa:Action="http://schemas.xmlsoap.org/ws/2004/09/transfer/PutResponse" />
 </wsdl:operation>

For each Change element in the ModifyRequest, the server performs the modifications specified in that Change against the identity attribute (also specified in the Change) of the identity object targeted by the Put operation. The server SHOULD<34> perform these modifications as a single atomic transaction. If any of the modifications requested cannot be performed by the server for any reason, the server SHOULD perform none of the modifications and MUST fail the entire Put request. If there are no change elements present in the ModifyRequest message, then the server SHOULD NOT perform any modifications to the identity object.<35>

If an error occurs while processing this operation, the server SHOULD reject the operation and return one of the SOAP faults specified in section 3.1.4.2.