StartWorkflowOnListItem Method with Association Data not properly parsing tokens

  • 26 March 2021
  • 0 replies
  • 123 views

Userlevel 3
Badge +8

Issue

Tokens for Item Properties, Workflow variables, and other references used in workflow actions are not parsed properly when starting a workflow with the Nintex Workflow Web Service (/_vti_bin/nintexworkflow/workflow.asmx) using the following operations:

StartSiteWorkflow
StartWorkflow
StartWorkflowOnListItem

 

Resolution

In the associationData parameter, pass an empty value for each Workflow Variable that will be storing any token values.

For example:
 
<Data><varFirstName /><varLastName /><intEmployeeID /></Data>

Alternatively, you can leave the associationData parameter completely empty.

 

Additional Information

The behavior you may see if that you receive literal tokens instead of the values that they represent. For example, you will see the output value be returned as {ItemProperty: FirstName} {ItemProperty: LastName} rather than the actual value such as 'David Smith'.

This behavior is a characteristic of the SharePoint Workflow Manager, which is responsible for all workflow initiations within SharePoint. Nintex offers convenient ways for end-users to start workflows such as Conditional Start, External Start, and the 'Start Workflow' action to name a few. When a Nintex Workflow is started by one of the many methods that are made available, the complete association data for the workflow is always passed to the SharePoint Workflow Manager to ensure that all data is handled properly as per their data type.

In regard to the various 'StartWorkflow' operations in the Nintex Workflow Web Service, associationData is an optional parameter that can be passed. When the associationData parameter is blank, the Nintex Workflow will refer to it's default Association Data within the workflow definition. However, when any associationData is passed, the default Association Data is not used and all variables are expected to be included in the associationData parameter (even if the variable is set to be empty). Passing partial associationData will cause the excluded variables to be handled as raw data rather than their data type.

This raw data value is inconsequential for some types of SharePoint columns that are stored as plain text. In the case of Multiple Lines of Text columns configured to store Rich Text, or Enchanced Rich Text, the raw data value will be the literal HTML code and encoded values for special characters. This results in tokens being stored as &#123;ItemProperty&#58; FirstName&#125; rather than {ItemProperty: FirstName}. This becomes problematic when a workflow action attempts to parse tokens and retrieve their values, as &#123;ItemProperty&#58; FirstName&#125; will be overlooked as a token.

 

Related Links

 


0 replies

Be the first to reply!

Reply