3.15.4.7 StartAsyncSchemaConversion

This operation is invoked by the client to trigger the start of the schema conversion. This causes the session state to be set to Conversion Started.

 <wsdl:operation msc:isInitiating="true" msc:isTerminating="false" name="StartAsyncSchemaConversion">
   <wsdl:input wsaw:Action="http://Microsoft.Windows.Ipam/IIpamAsyncSchemaConversion/StartAsyncSchemaConversion" message="ipam:IIpamAsyncSchemaConversion_StartAsyncSchemaConversion_InputMessage" />
 </wsdl:operation>

Upon receiving the IIpamAsyncSchemaConversion_StartAsyncSchemaConversion_InputMessage request message, the server MUST invoke the NotifyAsyncProvisionStart operation. The session state is set to Conversion Started.

The following are the processing steps involved. If a fault needs to be returned back to the client, the NotifyAsyncSchemaConversionComplete operation MUST be called with the fault specified in NotifyAsyncSchemaConversionComplete.exception.

  1. If ADM_IsSchemaConversionInProgress is set to TRUE, there is already a schema conversion session currently in progress. The current request cannot be processed. An appropriate SOAP fault MUST be returned to the client.

  2. Set ADM_IsSchemaConversionInProgress to TRUE so that no other schema conversion sessions become active.

  3. Check if schema conversion is required by checking ADM_IsSchemaConversionRequired. If it is FALSE, the schema conversion has been triggered when it is not required. An appropriate SOAP fault MUST be returned to the client.

  4. Initiate the database conversion schema in an implementation specific manner asynchronously. Provide adequate checkpoint status to the client by invoking NotifyAsyncSchemaConversionCheckpoint callback operation and set the session state to Conversion In Progress.

  5. If the schema conversion completes successfully,

    1. Return the success status by invoking NotifyAsyncSchemaConversionComplete with NotifyAsyncSchemaConversionComplete.exception set to null.

    2. Set session state to Conversion Completed.

    3. Set ADM_IsSchemaConversionRequired to FALSE.

    4. Set ADM_IsSchmeConversionInProgress to FALSE.

  6. If the schema conversion has failed,

    1. Specify the fault with which the schema conversion completed by invoking NotifyAsyncSchemaConversionComplete with NotifyAsyncSchemaConversionComplete.exception set to the fault that occurred.

    2. Set session state to Conversion Completed.

    3. Set ADM_IsSchmeConversionInProgress to FALSE.