I have encountered a strange error…
In a UDA, using the Call Web Service action with the method “StartWorkflowOnList”, I have found that if the UDA is invoked quickly in succession on the same Workflow Item, it can throw the following error:
<soap:Fault xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <faultcode>soaperver</faultcode> <faultstring>Server was unable to process request. ---> Attempted to use an object that has ceased to exist. (Exception from HRESULT: 0x80030102 (STG_E_REVERTED)) ---> Attempted to use an object that has ceased to exist. (Exception from HRESULT: 0x80030102 (STG_E_REVERTED))</faultstring> <detail /> </soap:Fault>
All signs point to this being a problem of how the actual backing .Net code for this action are implementing their releasing of SharePoint Objects, and seems to be unfixable from a user perspective.
One of the strange things about this error however is that the actual method (StartWorkflowOnList) still seems to succeed, meaning that you up with an Error that doesn't actually indicate a proper failure to execute the request!
Though I am tentatively going to ignore this particular error now (because there doesn't seem to be a reason not too, and to prevent my UDA from executing the same request more than once when it doesn't need to), I wanted to make a post about this in the event that someone else runs into the same issue. I'll also be opening a ticket with Nintex in the hopes of having them review their code for a fix / update.
Solved! Go to Solution.
@MegaJerk why are you using a call web service versus the "start workflow action"? I'm not sure what the actual problem is, but do note that SharePoint workflows are not allowed by design to trigger other workflows unless you use elevated permissions or different credentials. This is to prevent a workflow from falsely triggering other workflows thus crashing the farm by creating new items which then just restarts more instances of the same workflow.
I may not have that all correct as I'm writing this on a Friday evening, but hope you get the point. Code is code for sure, but not sure why you're not using the OOTB functionality available.
If you'd like to start a workflow on a site / list / library other than the one that the workflow you're editing is on, then you cannot use the Start Workflow Action (as it is limited to the list / library of the executing workflow).
However, in the event that you'd like to run a workflow on an item outside the scope of the Workflow that you'd like to initate from, you'll need to use the Call Web Service alongside the provided Nintex Workflow Web Service, where you can run into the problem that I have described.