11/06/2009

Workflows Error

Here is another article that talks about an error identified from the stack trace in Event Viewer. I have published a series of articles on Dynamics GP Workflows in recent times. After having installed Web Services, MOSS 2007 and Workflows successfully, I thought everything is perfect. I tried testing a dummy workflow for GL batch approval creating a one approver scenario. I was able to submit the batch for approval successfully. However, When i tried approving the said batch, it takes no action. To identify what’s happening in the back end, I opened Event Viewer. Remember that there would be a separate events series called Dynamics that would be available once you have workflows installed on the Web server running workflows. Under the Dynamics events, it was registering the following error every time I hit the Approval button. 

Action:

SubmitTaskAction

Current User LogOnName:

Domain\Admin

Input parameters:

Exception type:

System.ArgumentException

Exception message:

logOnName

Stack Trace:

at Microsoft.Dynamics.Workflow.Common.ArgumentHelper.
CheckArgumentAsNetworkUser
(String userName, String argumentName, String classMethodName)

at Microsoft.Dynamics.Workflow.WorkflowSecurityManager.
CheckAccess(String logOnName, WorkflowAssociationKey
workflowAssociationKey, WorkflowSecurityGroup
[] workflowSecurityGroups)

at Microsoft.Dynamics.Workflow.Schedule.
ApproversSequence.IsTaskChangeAllowed
(Object sender, ConditionalEventArgs e)

at System.Workflow.Activities.CodeCondition.
Evaluate(Activity ownerActivity, IServiceProvider provider)

at System.Workflow.Activities.IfElseActivity.
Execute(ActivityExecutionContext executionContext)

at System.Workflow.ComponentModel.ActivityExecutor`1.
Execute(T activity, ActivityExecutionContext executionContext)

at System.Workflow.ComponentModel.CompositeActivityExecutor`
1.Execute(T activity, ActivityExecutionContext executionContext)

at System.Workflow.ComponentModel.ActivityExecutor`
1.Execute(Activity activity, ActivityExecutionContext executionContext)

at System.Workflow.ComponentModel.ActivityExecutionFilter.Execute
(Activity activity, ActivityExecutionContext executionContext)

at System.Workflow.ComponentModel.FaultAndCancellationHandlingFilter.
Execute(Activity activity, ActivityExecutionContext executionContext)

at System.Workflow.ComponentModel.ActivityExecutorOperation.
Run(IWorkflowCoreRuntime workflowCoreRuntime)

at System.Workflow.Runtime.Scheduler.Run()



After a series of diagnosis on the error, I could finally resolve the same. The issue was with Service Accounts for MOSS as well as not importing the user profiles for Shared Services Provider (SSP). While configuring the MOSS, I used same account which is a farm administrator also for all service accounts. Certain Service accounts provide read-only access to the SharePoint databases. So, the account with which I’m trying to approve is being denied access due to the fact that the system is not able to identify this user as an administrator despite the fact that the said account is a workflows administrator in the web services security console as well. Adding to this, there is one step in MOSS configuration where we have to import all Active directory users into the shared services provider. I skipped this step too initially. After correcting these issues, the workflows started working absolutely perfect. So, We have to be 100% sure that we configure web services for Dynamics GP, MOSS correctly in order to ensure the workflows run successfully. Any small misconfiguration would lead to a failure of workflows.