Sunday, December 9, 2012

SPD Workflow error: Path needs to point to valid member

I had created a workflow and its always interesting to make few changes to it, or is it? It is not so welcoming though, but when you have a client instruction, you welcome it with a smile.

So here I was updating/editing the workflow. After updating it when I clicked Finish (this will associates the workflow to a SharePoint List), I received an error as below.

I haven't found any reference on the web or workaround for this issue.

(0, 0) Activity 'ID9355' validation failed: Path '_x005f_String135' used to specify member for 'ROOT' is invalid. Path needs to point to valid member.
(0, 0) Activity 'ID9325' validation failed: Path '_x005f_String136' used to specify member for 'ROOT' is invalid. Path needs to point to valid member.

I realized I had backed up the workflow before making any changes to it. So I opened the copy in Notepad (.xoml file) and was trying to trace the String '_x005f_String135' and '_x005f_String136' as in the above error.

I found that this string was referenced couple of times in the document. I then started comparing both the workflows (the one I was editing and the backed up copy).

Found that a statement like below were missing in the copy I was editing:

<ns0:WorkflowDataField Name="_x005f_String135" Type="System.String" />
<ns0:WorkflowDataField Name="_x005f_String136" Type="System.String" />

I believe this to be a declaration of strings used in the workflow which apparently went missing when I was updating the workflow. I have no idea why did this happen.

So I copied this part from the backup and pasted in the file I was editing. I then saved the .xoml file, opened the workflow and clicked Finish (to associate with SharePoint List.)

It worked!

Lesson Learnt, or rather an Affirmation to myself - Continue backing up often.

2 comments: