Hi,
I am back with this error again, I posted earlier and though that I had found the cause of this. Previous post is here: http://social.technet.microsoft.com/Forums/en-US/ilm2/thread/01f0a134-06ad-4423-92ae-165eba169419. I had reviewed all my Sets, WF, MPRs and SRs to ensure that there are no conflicting rules.
the failed-modification-via-web-services error only occur to certain or a few objects, it only occurred on about 56 objects.
The error detail shown on the object in the Synchronization Service Manager is :
"Fault Reason: The endpoint could not dispatch the request.\r\n\r\nFault Details: <DispatchRequestFailures xmlns="http://schemas.microsoft.com/2006/11/ResourceManagement"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><DispatchRequestAdministratorDetails><FailureMessage>Exception:
Other
Stack Trace: Microsoft.ResourceManagement.WebServices.Exceptions.UnwillingToPerformException: Other ---&gt; System.Data.SqlClient.SqlException: Reraised Error 2627, Level 14, State 1, Procedure DoEvaluateRequestInner, Line 1073, Message: Violation ofPRIMARY KEY constraint 'PK__#A0E8A54__5330D0773EDCE1BF'. Cannot insert duplicate key in object'dbo.@transitionOutApplicableRuleBuffer'. The duplicate key value is (13520, 43658, 147).
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader()
at Microsoft.ResourceManagement.Data.DataAccess.DoRequestCreation(RequestType request, Guid cause, Guid requestMarker, Boolean doEvaluation, Int16 serviceId, Int16 servicePartitionId)
--- End of inner exception stack trace ---
at Microsoft.ResourceManagement.WebServices.RequestDispatcher.CreateRequest(UniqueIdentifier requestor, UniqueIdentifier targetIdentifier, OperationType operation, String businessJustification, List`1 requestParameters, CultureInfo locale, Boolean
isChildRequest, Guid cause, Boolean doEvaluation, Nullable`1 serviceId, Nullable`1 servicePartitionId, UniqueId messageIdentifier, UniqueIdentifier requestContextIdentifier, Boolean maintenanceMode)
at Microsoft.ResourceManagement.WebServices.ResourceManagementService.Put(Message request)</FailureMessage><DispatchRequestFailureSource>Other</DispatchRequestFailureSource><AdditionalTextDetails>Request
could not be dispatched.</AdditionalTextDetails></DispatchRequestAdministratorDetails><CorrelationId>6ffcb0b5-2357-4aaa-b044-b59c34cea4fd</CorrelationId></DispatchRequestFailures>"
All the objects failed with a similar error description. In the FIM portal the request stays in the "Validating" state. I also confirmed that there are no validations on any attribute that could cause this. As I have indicated above this only happen to certain user objects.
By looking at all the requests on these objects, they all had one thing in common - On a few requests there is a remark which states:
"Requests cancelled by system because it was not recoverable after a service restart, the last requeststatus recorded prior to cancelling was, Validating"
I think what is happening, is that there are still rules in a queue or buffer somewhere which had not completed yet. The synchronization service is exporting these because no confirmation is received - resulting in the duplicate key error above.
My question is:
Is it possible to remove these failed requests without deleting the object in the FIM Portal? (really don't want to do that as that will mean that the business rules will not apply on these objects)
Thanks
Johan Marais
JkM6228