SharePoint OOTB 工作流“启动失败”在创建时启动但可以手动启动
我正在使用 SharePoint 三态工作流来完成 InfoPath 表单上的场景,然后进行验证。 Web 服务在库中创建 InfoPath 表单的实例。这个想法是,工作流程将让特定用户完成表单,然后让经理批准它。真的很简单。
不幸的是,工作流程无法启动。当尝试启动工作流时,日志显示参数异常。奇怪的是,手动启动时它运行良好,因此排除了关联数据不正确的情况。我还尝试过其他 OOTB 工作流程(例如批准)。我认为这也可能是通过网络服务创建项目,但随后一切都在我的开发环境中运行。
我希望有人能够贡献我忘记检查的内容。
I'm using the SharePoint Three-State workflow for a complete and then validate scenario on an InfoPath form. A web service creates the instance of the InfoPath form in the library. The idea is that the workflow will get a particular user to complete the form and then gets a manager to approve it. Simple stuff really.
The workflow fails to start unfortunately. The log shows an argument exception when it tries to start the workflow. Strangely it runs fine when manually started so that rules out the association data being incorrect. I've also tried this with other OOTB workflows such as Approval. I've thought it might also be the creation of the item through the web service but then it all works in my development environment.
I'm hoping someone might be able to contribute what I'm forgetting to check.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的工作流程尝试以什么身份启动?如果它是 SharePoint 系统帐户,则该帐户无法启动声明式工作流,如此 MSDN 上的 SharePoint Designer 博客文章。
同样的问题影响了我们的一个工作流程,其中 Web 部件以编程方式创建了一个列表项,并且我们的工作流程设置为在项目创建和更新操作时触发。手动创建项目或手动运行工作流程是有效的,因为它是在我们的个人凭据下发生的。
我们的解决方案是简单地在 AD 中创建一个 Web 部件可以模拟的服务帐户。一旦不再在系统帐户下创建列表项,工作流程就会按预期运行。
What identity is your workflow attempting to start under? If it is the SharePoint System Account, that account cannot start declarative workflows, as documented in this SharePoint Designer Blog post on MSDN.
This same problem impacted one of our workflows, where a web part programmatically created a list item and our workflow was set to trigger on item create and update actions. Manually creating items or manually running the workflow worked because it happened under our personal credentials.
Our solution was to simply create a service account in AD that the web part could impersonate. Once the list items were no longer being created under the System Account, the workflow worked as expected.
如果您收到参数错误,我将检查工作流程是否引用了在创建列表/库项目时不会填充的字段。如果您引用 ID 字段或计算列之类的内容,则该字段将不可用。
If you are receiving an argument error, I would check that the workflow is not referencing a field that would not be populated at the time of creating the list/library item. If you reference something like the ID field or a calculated column this field would not be available.