The following error appears in the SharePoint logs:
Workflow Infrastructure frg9 Medium Workflow could not be run because SPWebApplication.UpdateWorkflowConfigurationSettings was not previously called, and the Web Application service has been disabled on this server. Call UpdateWorkflowConfigurationSettings or turn on the Web Application service for this server. 32e0750c-ad39-4ff4-a481-dcf5b8c723a8
04/19/2011 23:15:23.19 OWSTIMER.EXE (0x1E5C) 0x22A0 SharePoint Foundation Workflow Infrastructure 72fu Unexpected Load Workflow Class: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
Some workflow actions, for instance the Flexi-Task action, make use of SharePoint's Timer Service to schedule when an action is activated. This service requires the server that it is running on to have the 'Microsoft SharePoint Foundation Web Application' service also running. On your APP server, you've disabled the dependant service. The symptom of this issue is appearing in your log files as:
Workflow could not be run because SPWebApplication.UpdateWorkflowConfigurationSettings was not previously called, and the Web Application service has been disabled on this server. Call UpdateWorkflowConfigurationSettings or turn on the Web Application service for this server.
There are 3 possible solutions to resolve this error.
1) Activate the Microsoft SharePoint Foundation Web Application in Central Admin.
2) De-activate the 'Microsoft SharePoint Foundation Workflow Timer Service'. The consequence is that you no longer have the capacity to process your workflow volume with 2 servers any longer. All workflows will be processed on the WFE server.
3) Follow Microsoft's guidance which will require a custom script to update settings in the SharePoint configuration database.
An excerpt from a Microsoft article briefly describes this requirement:
"The Workflow Timer service is an exception to the postpone threshold limit and will retrieve batches of items from the queue and execute them one at a time. These batches can be larger than the postpone threshold. The number of work items that the service receives per run is set by using the BatchSize property. The BatchSize property can be set one time per service instance. The default value is 100. When running on application servers that are not configured to be front-end servers, the Workflow Timer service requires workflow configuration settings in Web.config to be set in the configuration database. This must be done through a script that calls UpdateWorkflowConfigurationSettings() on the SPWebApplication object, which will copy the Web.config settings from a front-end server." http://technet.microsoft.com/en-us/library/gg508755.aspx
Our recommendation is to attempt option 1 first.
If the Web Application role is enabled on the application servers, the Nintex Workflow solution package should be re-deployed to all appropriate web applications to ensure the Nintex Workflow DLLs are copied to the GAC on those servers.
Please note: this applies only to SharePoint and Nintex Workflow 2010.