I have two sharepoint 2013 list workflows created in SharePoint Designer. One exists in the root of the site collection while another exists on a subsite. Through the use of several Call HTTP Web Service actions, the workflow on the root site list creates an item on a seperate list in the subsite
POST to: .../subsite/_api/web/lists/getbytitle('[ListName]')/items
and then attempts to start the subsite workflow on the newly created list item
POST to: .../subsite/_api/SP.WorkflowServices.WorkflowInstanceService.Current/StartWorkflowOnListItemBySubscriptionId(subscriptionId='[SubscriptionID]', itemId='[NewItemId]')
I am able to create the list item in the subsite, however, the web service call to start the workflow returns an InternalServerError status along with a correlation Id. If I check the SharePoint logs for the correlation Id, I see the following error:
Microsoft.Workflow.Client.WorkflowCommunicationException: The request was aborted: The request was canceled. Client ActivityId : cefbf0c2-e3d0-4d82-9b47-3e2a47be5d6b. ---> System.Net.WebException: The request was aborted: The request was canceled. ---> System.NotSupportedException: Do not know how to create outbound claims for app only identity
Most of what I can find on this error doesn't seem to apply to my situation. For example, in this technet discussion the problem seems to be that the message gets posted to the log many times over, filling the log files up very quickly, and the solution is to reset the log level to the default and restart the workflow management pool. In my case, the message is not filling up the logs and is only associated with the root list workflow attempting to start the subsite workflow, and resetting log levels and restarting application pools hasn't helped any.
Also, if I attempt to invoke the StartWorkflowOnListItemBySubscriptionId web service manually using a tool like Postman there are no errors and the workflow starts as expected.
Things I have ensured:
- The Workflow Can Use App Permissions site feature is enabled
- The Workflow app has been granted full control to the scope: http://sharepoint/content/sitecollection/web
- The Call HTTP Web Service action is wrapped in an app step in the workflow