当前位置: 首页>>网站问题>>正文


我必须为每个网站集运行Register-SPWorkflowService吗?

webfans 网站问题 , , , , , 去评论

问题描述

作为SharePoint Server 2013安装的一部分,我有时需要将新的工作流基础架构集成到服务器场中。我遵循从SharePoint的一面开始的文档:

从这里我根据链接的文档安装和配置组件(这部分不是SharePoint特定的):

根据SharePoint文档中的信息,我将不得不运行以下命令以允许通信(对于我的示例,我在Sharepoint和工作流管理器上使用HTTP):

Register-SPWorkflowService –SPSite "http://collab/" –WorkflowHostUri "http://sp2013-01:12291" –AllowOAuthHttp

以下是适用于我的环境的命令,其中我的SharePoint URL是http://sp.apple.com,而我安装Workflow Manager的Web前端服务器名为sharepointwfe。 Register-SPWorkflowService -SPSite“http://sp.apple.com” – WorkflowHostUri“http://sharepointwfe:12291”-AllowOAuthHttp


阅读此cmdlet的文档,我不确定是否必须为所有应该运行新工作流基础结构(非SP2010 WF)的网站集执行此命令。

Configures the SharePoint host to use a workflow service

参数:

SPSite | Required | Microsoft.SharePoint.PowerShell.SPSitePipeBind | Specifies a site collection to configure

问题:

  • 我是否需要执行此命令一次,网站集会存储一些配置信息?

  • 或者我是否需要在每个应使用新工作流程基础架构的网站集上运行此命令?


基础设施细节

  • Windows Server 2012标准英语

  • SharePoint Server 2013英语

  • MS SQL 2012 SP1标准英语

  • 工作流管理器1.0

  • 1x域控制器

  • 1x SharePoint Box也运行Wokflow Manager

  • 1个SQL Server

最佳解决办法

按照上面提供的示例选择一个Web应用程序来注册该服务。在为”Collab” Web应用程序中的任何站点注册后(对于”Collab”),您应该能够验证2013年工作流现在可在SharePoint Designer 2013中工作。

如果您有其他Web应用程序在其中定制了服务应用程序,那么您需要像其他任何共享服务一样启用它们。如果您有其他具有默认服务的Web应用程序,则2013工作流程服务应该正常运行。所以不,你不会多次运行该命令。仅一次。然后在SharePoint Central Admin中管理该服务。

我在这里的博客文章中总结了这一点:

http://forte-design.com/?p=1

Chuck LaForte Forte Design

次佳解决办法

您只需为整个农场执行一次Register-SPWorkflowService。

在许多情况下,这种情况不起作用,除了前面回复中提到的代理问题之外,还有一些其他因素。

  1. SharePoint Web应用程序正在使用https,并且其证书的根目录不在Workflow Manager服务器受信任的根授权中(MMC Snap-in,证书,本地计算机)

  2. 测试发布工作流程的用户是系统帐户。

  3. 测试用户在用户配置文件中没有条目或没有电子邮件。

  4. 应用程序管理或订阅服务未正确配置(尽管应用程序管理不需要配置)。

  5. Workflow Manager端点如果通信完全通过HTTPS(即不允许HTTP),则公钥(.Cer)未在SharePoint中注册为受信任的根授权(New-SPTrustedRootAuthority)。

第三种解决办法

‘Register-SPWorkflowService’命令为整个服务器场创建服务代理连接,但此代理连接只能添加到当前Web应用程序的服务连接组。如果您只有一个服务连接配置,那么您现在就很好。

如果您在服务器场中配置了其他代理组,则不会在该服务器场中添加代理组,而只能选中要添加的代理组。您需要将工作流服务添加到这些组,例如使用以下脚本片段:

$appProxyDisplayName = "Workflow Service Application Proxy"

$proxyGroup = "your proxy group name here, look up in ca - web app - service connections"

# https://hughajwood.wordpress.com/2013/08/22/starting-a-service-application-proxy-via-powershell/
$appProxy = Get-SPServiceApplicationProxy | Where-Object {$_.DisplayName -eq $appProxyDisplayName}

# Add workflow Service to an existing service group
# https://technet.microsoft.com/en-us/library/ee704550.aspx
# Add-SPServiceApplicationProxyGroupMember -Identity < the service application proxy group > -Member <members to add to the service application proxy group>

Add-SPServiceApplicationProxyGroupMember -Identity $proxyGroup -Member $appProxy

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/1224.html,转载请务必附带本地址声明。