The following examples show how to provision a Forefront
Identity Manager Certificate Management (FIM CM) Recover request.
The first example demonstrates how to do this using
CreateRecoverRequest. The second example shows a more manual
approach. You can use Utils.TransactionProperties
to
trigger a recover request and to help to ensure that only one
request is created. Otherwise, each time
CLMUtils.CreateRecoverRequest
is called, a new request
is created.
CLMUtils.CreateRecoverRequest
Visual Basic |
Copy Code |
Sub Provision(ByVal mventry As MVEntry)
Implements IMVSynchronization.Provision
Try
If mventry("objectGUID").IsPresent
And Utils.TransactionProperties(
"triggerRecover").Equals(True) Then
CLMUtils.CreateRecoverRequest(CLMMA,
New Guid(mventry("objectGUID").BinaryValue),
"CLM Sample Profile Template")
End If
' Log and rethrow any exception.
Catch ex As Exception
Logging.Logging.LogException(ex,
"Provision",
"Caught exception",
False)
Throw
End Try
End Sub 'IMVSynchronization.Provision
|
C# |
Copy Code |
void IMVSynchronization.Provision (MVEntry mventry)
{
try
{
if (mventry["objectGUID"].IsPresent &&
Utils.TransactionProperties["triggerRecover"].Equals(true))
{
CLMUtils.CreateRecoverRequest(CLMMA,
new Guid(mventry["objectGUID"].BinaryValue),
"CLM Sample Profile Template");
}
}
// Log and rethrow any exception.
catch(Exception ex)
{
Logging.Logging.LogException(ex,
"Provision",
"Caught exception",
false);
throw;
}
}
|
Provision Recover Request
Visual Basic |
Copy Code |
Sub Provision(ByVal mventry As MVEntry)
Implements IMVSynchronization.Provision
Try
If mventry("objectGUID").IsPresent And
Utils.TransactionProperties(
"triggerRecover").Equals(True) Then
Dim targetCLMMA As ConnectedMA =
mventry.ConnectedMAs("CertificateLifecycleManagerMA")
Dim csentry As CSEntry =
targetCLMMA.Connectors.StartNewConnector("clmRequest")
csentry.DN = targetCLMMA.EscapeDNComponent("CN=" +
Guid.NewGuid().ToString())
csentry("req_type").IntegerValue = 2
csentry("req_type_name").Value = "Recover"
csentry("req_profile_uuid").BinaryValue =
New Guid().ToByteArray()
' GUID of profile to associate request with
csentry.CommitNewConnector().
End If
' Log and rethrow any exception.
Catch ex As Exception
Logging.Logging.LogException(ex,
"Provision",
"Caught exception",
False)
Throw
End Try
End Sub 'IMVSynchronization.Provision
|
C# |
Copy Code |
void IMVSynchronization.Provision(MVEntry mventry)
{
try
{
if (mventry["objectGUID"].IsPresent &&
Utils.TransactionProperties["triggerRecover"].Equals(true))
{
ConnectedMA targetCLMMA =
mventry.ConnectedMAs["CertificateLifecycleManagerMA"];
CSEntry csentry =
targetCLMMA.Connectors.StartNewConnector("clmRequest");
csentry.DN = targetCLMMA.EscapeDNComponent("CN=" +
Guid.NewGuid().ToString());
csentry["req_type"].IntegerValue = 2;
csentry["req_type_name"].Value = "Recover";
csentry["req_profile_uuid"].BinaryValue =
new Guid (GUIDValue).ToByteArray();
// GUIDValue is the GUID of the profile to associate the request with
csentry.CommitNewConnector();
}
}
// Log and rethrow any exception.
catch (Exception ex)
{
Logging.Logging.LogException(ex,
"Provision",
"Caught exception",
false);
throw;
}
}
|
See Also