Hi All,
Last year we had deployed FIM 2010 in our client environment. 2 months back, we have migrated the FIM solution to FIM 2010 R2.
Last week we faced an issue in FIM Portal. End user requests for different accesses and permissions on resources from the FIM portal. The requests goes to the user's manager/ resource owner for apporval. Some
of the managers/approvers were unable to approve the pending requests in their bin. As per my observation, the issue is explained below in detail:
- Whenever the user (approver) tries to approve the requests from FIM portal (fromMy Pending Requests tab), he is getting the "Request Failed" popup. the requests is not getting approved and remains in the approvers bin inPending state.
- There are no failure requests entries generated in the FIM admin portal (when looking intoSearch requests tab) and the requests remains in Authorizing state which seems like there is a pending approval to complete the request. Because of this, I (as theFIMADMIN) at server end was unable to identify that the requests are not getting approved.
- The requests are stucked. All the workflows in the stucked requests are left inRunning state.
- As a process, If the approvers do not approves the request in 5 days, the request gets expired on the 6th day. I have observed that the stuck requests initaited in last week are not gettingexpired and remains in Authorizing state.
- In the event viewer logs on the FIM Portal machine, we have seen the below error each time the approvers were trying to approve requests and get the"Request Failed" error pop-up.
Request Identifier: 2247a182-3fd1-44f6-a7db-aa6e1130dbb8
Workflow Instance Identifier: fe68df8a-59be-4615-a339-680cf38f0458
Workflow Definition Identifier: 303cac16-d927-41f6-abce-21ccbd883ea2
Workflow Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array. at System.Workflow.ComponentModel.Serialization.ActivitySurrogate.ActivitySerializedRef.System.Runtime.Serialization.IDeserializationCallback.OnDeserialization(Object
sender) at System.Runtime.Serialization.DeserializationEventHandler.Invoke(Object sender) at System.Runtime.Serialization.ObjectManager.RaiseDeserializationEvent() at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler,
__BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean
isCrossAppDomain, IMethodCallMessage methodCallMessage) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream) at System.Workflow.ComponentModel.Activity.Load(Stream stream, Activity outerActivity, IFormatter
formatter) at System.Workflow.Runtime.Hosting.WorkflowPersistenceService.RestoreFromDefaultSerializedForm(Byte[] activityBytes, Activity outerActivity) at System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService.LoadWorkflowInstanceState(Guid id) at Microsoft.ResourceManagement.Workflow.Hosting.ResourceManagementSqlWorkflowPersistenceService.LoadWorkflowInstanceState(Guid
Id)
Can anybody help me in identyfying the issue for this? I am looking for the answers to the below queries:
- Has anybody seen this issue before or have any idea about why the requests are not getting approved?
- How we can troubleshoot this issue and identify the exact reason for which the requests/workflows got stucked ?
Thanks in Advance.
Thanks,
Sanjog