Skip to main content

SharePoint 2010 State Machine Workflow error: "Failed to Start Workflow"

I've been working on a custom state machine workflow for a specific content type. I've associated the workflow to the content type like this:

<AssociationCategories>ContentType;0x01........</AssociationCategories>

This workflow has a custom initiation form, in which I'm passing some options to the workflow.

After doing the association to the content type I started getting the following error: "Failed to Start Workflow"

After doing a bit of debugging and head scratching I found that in the StartListWorkflow() method inside the initiation page in which the workflow association is retrieved from the workflowList.WorkflowAssociations list and it does not take into consideration the ContentType workflow associations.

private void StartListWorkflow()
{
 SPWorkflowAssociation association = this.workflowList.WorkflowAssociations[new Guid(this.associationGuid)];
 
        this.Web.Site.WorkflowManager.StartWorkflow(workflowListItem, association, GetInitiationData());
 SPUtility.Redirect(this.workflowList.DefaultViewUrl, SPRedirectFlags.UseSource, HttpContext.Current);
}

So I replaced this line:

SPWorkflowAssociation association = this.workflowList.WorkflowAssociations[new Guid(this.associationGuid)];

with this line:

SPWorkflowAssociation association = this.workflowList.ContentTypes[workflowListItem.ContentTypeId].WorkflowAssociations[new Guid(this.associationGuid)];

in which I'm getting looking for the association in the WorkflowAssociations of the list content type of the workflowListItem.

Comments

Popular posts from this blog

SharePoint 2010 retrieving lookup values using ECMAScript

Script to retrieve single and multiple value lookup fields values using SharePoint 2010 Client Object Model for JavaScript (ECMAScript): var listName = "list name here" ; var listItemId = 23 ; // id here function retrieveLookupValues () { var clientContext = new SP . ClientContext . get_current (); var oList = clientContext . get_web (). get_lists (). getByTitle ( listName ); var selectedItems = SP . ListOperation . Selection . getSelectedItems (); var camlQuery = new SP . CamlQuery (); camlQuery . set_viewXml ( "< View >< Query >< Where >< Eq >< FieldRef Name='ID' / >< Value Type='Counter'>" + listItemId + "< /Value>< /Eq>< /Where>< /Query>< RowLimit>100< /RowLimit>< /View>" ); this . collListItem = oList . getItems ( camlQuery ); clientContext . load ( collListItem , 'Include(CustomSingelLookup...

SharePoint 2010 Custom List / Library Template: Custom Action are not displayed in the Ribbon

Issue: We have Custom List / Document Library Template - the Custom Action are not displayed in the Ribbon. Solution: Check that all views in the list template have the Toolbar tag inside it with type "Standard": < Toolbar Type="Standard" / > To fix for existing lists / libraries: 1. Change the source file in the Visual Studio solution and redeploy it. OR 2. If the solution cannot be redeployed then to fix existing lists / libraries follow these steps: - Open the site in SharePoint Designer - Open the Views in Edit Mode and add/update the following tag inside the View tag: