Unable to create new WorkflowInstance for WorkflowDefinition ‘GUID’
Technorati Tags: FIM,.NET,Workflow
Hi there,
I am Syam Pinnaka, Dev in IAM team at Microsoft.
Have you encountered “Unable to create new WorkflowInstance for WorkflowDefinition ‘GUID’ ” error while trying to create/run a workflow in Forefront Identity Manager (FIM) 2010? I have encountered this and let me tell you what. Its no fun to trouble shoot this error. I ran into this error while trying to execute a FIM 2010 work flow and this error is has taken good amount of time to find and fix and so thought of sharing the learning.
This error, as FIM 2010 rightly reports back occurs when FIM 2010 cannot create and run a Workflow instance. There could be N number of reasons as to why this error occur but the common reasons are like below.
- When FIM service can not serialize the FIM WF XOML definition.
- When FIM service have connectivity issues with App store SQL instance at the time of reading the WF definition.
- When FIM service is installed in on multiple servers with or without NLB.
FIM service installed on multiple servers is what has caught me off guard. In my scenario, we have FIM service installed on 3 different machines and the request which triggers my Workflow is created by FIM temporal events job. Request generated by temporal events job is directed to be processed by one of the FIM services in a random order.
You might be wondering how this random request—>FIM service selection has created an issue for me and get ready for this! I have not installed my WF on one of the FIM service machines. Since I have not installed my WF on a FIM service machine, whenever the request goes to that machine, I see the “Unable to create new WorkflowInstance…” error. Adding to the confusion, when the request goes to a machine/FIM service which has my custom WF installed, the same workflow execution completes without any error mimicking a perfect “Sporadic” behavior.
Lesson learnt: Install your WFs on all FIM service machines especially when you have NLB setup or requests are randomly processed by different FIM services.
Happy coding!
Comments
- Anonymous
June 29, 2011
How does Service Partitioning play into this? If the request is initiated by a temporal set transition, could it end up on any partition?