각 사이트 컬렉션에 대해 register-spworkflowservice를 실행해야합니까?
-
10-12-2019 - |
문제
My SharePoint Server 2013 설정의 일부로 때때로 새로운 워크 플로 인프라를 팜에 통합해야합니다. SharePoint 측면에서 시작하는 설명서를 수행했습니다.
- http://technet.microsoft.com/en-us/library/ jj658588.aspx
여기에서 링크 된 문서를 기반으로 구성 요소를 설치하고 구성했습니다 (이 부분은 SharePoint 특정 항목이 아님) :
- 개요 : http://technet.microsoft.com/en-us/ 도서관 / jj193478.aspx
- 구성 : http://technet.microsoft.com/en-us/ 도서관 / jj193510.aspx
SharePoint Docs의 정보를 기반으로하는 것은 다음 명령을 실행하여 통신을 허용해야합니다 (예 : SharePoint 및 Workflow Manager에서 HTTP 사용) :
.Register-SPWorkflowService –SPSite "http://collab/" –WorkflowHostUri "http://sp2013-01:12291" –AllowOAuthHttp
내 SharePoint URL이 "noreferrer"> http://sp.apple.com 인 내 환경에서 작업 한 명령은 다음과 같습니다. Workflow Manager를 설치 한 웹 프런트 엔드 서버의 이름은 SharePointWFE입니다. register-spworkflowservice -spsite ""NSP.APPLE.COM ""-workflowHosturi " http : // sharepointwfe : 12291 "-allowingoauthhttp
이 cmdlet의 설명서를 읽는 것은 새로운 워크 플로우 인프라 (비 SP2010 WF)를 실행 해야하는 모든 사이트 모음에 대해이 명령을 실행해야합니다.
- http://technet.microsoft.com/en-us/library/ jj663115.aspx
워크 플로 서비스를 사용하도록 SharePoint 호스트 구성
매개 변수 :
spsite | 필수 | Microsoft.SharePoint.Powershell.spSitePipeBind | 를 구성 할 사이트 모음을 지정합니다.
질문 :
- 이 명령을 을 실행하고 사이트 모음이 일부 구성 정보를 저장할 필요가 있습니까?
- 또는 새로운 워크 플로우 인프라를 사용해야하는 모든 사이트 모음 에서이 명령 을 실행해야합니까?
인프라 세부 정보 :
- Windows Server 2012 Standard English
- SharePoint Server 2013 English
- MS SQL 2012 SP1 표준 영어
- 워크 플로 관리자 1.0
- 1x 도메인 컨트롤러
- 1x SharePoint 박스 실행 Wokflow Manager
- 1x SQL Server
- http://technet.microsoft.com/en-us/library/ jj663115.aspx
해결책
Register the service by selecting one of your Web Applications as per the example you provided above. After you have registered it for (in this case, for "Collab"), you should be able to verify that 2013 Workflows now work within SharePoint Designer 2013 for any site residing within the "Collab" Web Application.
If you have other Web Applications where you have customized the service applications then you need to enable them like any other shared service. If you have other web applications with default services, then the 2013 Workflow service should be working. So no, you do not run the command multiple times. One time only. Then manage the service within SharePoint Central Admin.
I summarized this in my blog post here:
Chuck LaForte Forte Design
다른 팁
You need to execute Register-SPWorkflowService only once for the entire farm.
I have many cases where this did not work though due to some other factors in addition to the Proxy issue mentioned in the earlier response.
SharePoint web applications are using https and the root of their cert is not in Workflow Manager server trusted root authority (MMC Snap-in, Certificates, Local computer)
Test user publishing the workflow is a system account.
Test user does not have an entry in User Profile or does not have an email.
App Management or subscription service is not properly provisioned (no configuration required for App management though).
Workflow Manager endpoint Public key (.Cer) is not registered in SharePoint as Trusted Root Authority (New-SPTrustedRootAuthority) if the communication will be entirely over HTTPS (i.e. Not allowing HTTP).
The 'Register-SPWorkflowService' command creates the service proxy connection for the whole farm, but this proxy connection gets only added to the service connection group of the current web app. If you only have one service connection configuration, you are good to go now.
If you have additional proxy groups configured in your farm, it is not added there and you cannot simply check the box to add it. You need to add the workflow service to these groups, e.g. with the following script snippet:
$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