Why could this be happening: VS Workflow with custom InfoPath Task Forms does not trigger OnTaskChanged when form is submitted with data (so clearly changed). Funny thing is that the same workflow works on my local machine SharePoint, but not on the production server.

What could I check that could be preventing OnTaskChanged event from triggering?

For information, my InfoPath forms environment is done in similar way to how it is described here: http://www.codeproject.com/Articles/195348/SharePoint-2010-State-Machine-Workflows-with-Custo.

With only exception that I also had to set this:

Set the Feature Receiver (under workflow properties in VS Solution Explorer) Assembly and Class Name properties of the module Project Item to "Microsoft.Office.InfoPath.Server, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" and "Microsoft.Office.InfoPath.Server.Administration.XsnFeatureReceiver", respectively.

If someone has any suggestions about why OnTaskChanged may not be triggering when adding InfoPath form functionality, please post a reply about it here! Thank you!

2 Answers 2


Finally found, through ULS logs, what it was.

In the workflow task list I had few custom fields (from the time before we started using InfoPath forms). Some fields were marked as required and were not present in InfoPath form so it given a warning in ULS logs "Form databind failed" and did not go on to trigger OnTaskChanged event receiver.

Good thing there are ULS logs, as otherwise it did not give any kind of error message or notification, just closed the form successfully without passing data anywhere.

  • i am getting same issue, and struggle to resolve in production server, is works fine in my dev server. how to resolve this ? waiting for your reply. Thanks, Nagendra Apr 23, 2012 at 11:33

i got the solution but i don't know is the correct way or not. the same issue is exists in my QA server also at one of approval level.

I spent more time but no luck. finally i change the form library, create a new one . wow.. now its work in QA. i am surprise why this happen.

but is not the correct way in client location to solve the issue.

Please tell me how to solve this issue.

thanks in advance,


  • (1/2) Well in my case it was the required field in the task list of workflow, which did not exist in the form. Check if you have some field in task list, marked as required that is not present in your custom form, then perhaps mark it as not required or even delete if it is not used. (1/2)
    – SviFi
    Apr 24, 2012 at 8:49
  • (2/2) Otherwise, it could be something else, try to look in ULS logs for some error message: on server, download ULS Viewer (link), run it, go to File > Open from > ULS > OK. Now press pause button and go to workflow, trigger the task form to be made etc > before you make change in the form, switch to ULS viewer click play > switch to form again and submit form > switch back to ULS viwer and click pause again. This will focus logs for only that time when error supposed to happen. Hope it helps. (2/2)
    – SviFi
    Apr 24, 2012 at 8:58
  • @nagendrarao I deleted your other question. Please either open up a new question or add comments to your existing answer here Apr 24, 2012 at 11:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.