Posted on:
Categories: SharePoint
Description:

Symptoms:

A SharePoint 2013 platform workflow is associated with a document library. The workflow is configured to fetch data from a lookup column for the current item and store it in a variable. When the workflow runs it is results in a cancelled state. The following error is logged in the workflow history

 

RequestorId: d75940f0-4635-2143-388d-cf1483a55983. Details: System.ApplicationException: HTTP 404 {"error":{"code":"-2130575322, Microsoft.SharePoint.SPException","message":{"lang":"en-US","value":"List does not exist.\u000a\u000aThe page you selected contains a list that does not exist. It may have been deleted by another user."}}} {"Transfer-Encoding":["chunked"],"X-SharePointHealthScore":["0"],"SPClientServiceRequestDuration":["16"],"SPRequestGuid":["ffc4a952-de67-4416-bde3-c5964cfac04e"],"request-id":["ffc4a952-de67-4416-bde3-c5964cfac04e"],"X-FRAME-OPTIONS":["SAMEORIGIN"],"MicrosoftSharePointTeamServices":["15.0.0.4481"],"X-Content-Type-Options":["nosniff"],"X-MS-InvokeApp":["1; RequireReadOnly"],"Cache-Control":["max-age=0, private"],"Date":["Fri, 28 Mar 2014 16:38:55 GMT"],"Server":["Microsoft-IIS\/8.0"],"X-AspNet-Version":["4.0.30319"],"X-Powered-By":["ASP.NET"]} at Microsoft.Activities.Hosting.Runtime.Subroutine.SubroutineChild.Execute(CodeActivityContext context) at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

 

Cause:

 

The error message above indicates that the workflow was not able to find the list that is configured for the lookup field. My research indicates that lookup fields are not supported for SharePoint 2013 platform type workflows http://office.microsoft.com/en-ca/help/sharepoint-server-2013-known-issues-HA102919021.aspx

 

Workaround:

 

Microsoft recommends two workarounds.

 

  1. Use Call HTTP Web Service action. For example: http://site_name/_api/Web/Lists/GetByTitle('list_name')/Items(item_ID)/FieldValuesAsText?$select=field_name

                   where field_name is the EntityPropertyName property of SPField object

  1. Call SharePoint 2010 workflows using Start List/Site Workflow action.

 

 

In my case, I went with the option of calling a SharePoint 2010 platform type workflow from within the 2013 workflow. The 2010 workflow step consists in fetching the desired value from the lookup field, which can then be retrieved at a later step in the 2013 workflow.  This resolved the issue.