SPD 2013-workflow: Activity 'DynamicActivity' has 51 arguments
En SharePoint Designer 2013-workflow med mere end 50 variabler kunne ikke udgives. Grænsen kunne hæves i Workflow Manager med én linje PowerShell.
Udgået. SharePoint 2013-workflows blev fjernet helt fra SharePoint Online 2. april 2026, og SharePoint Designer 2013 blev udfaset 14. juli 2026 (Microsoft Learn, “Creating a workflow by using SharePoint Designer 2013 and the SharePoint Workflow platform”). Workflow Manager 1.0 nåede slutningen af sin support 10. januar 2023 (Microsoft Learn, “Ending Support in 2023”) og er afløst af SharePoint Workflow Manager. Rettelsen nedenfor gjaldt en SharePoint-farm med Workflow Manager, ikke SharePoint Online.
Ved udgivelse af en SharePoint Designer 2013-workflow kunne denne fejl komme:
Microsoft.Workflow.Client.ActivityValidationException: Workflow XAML failed validation due to the following errors: Activity 'DynamicActivity' has 51 arguments, which exceeds the maximum number of arguments per activity (50).
Workflowen bruger mere end 50 variabler. Der er tre veje:
- Genbrug variabler, så der bliver færre. Kræver ingen ændringer på serverne.
- Hæv grænsen direkte i databasen. Anbefales ikke. Virkelig ikke.
- Hæv grænsen med én linje PowerShell. Anbefales, men kræver administratoradgang til SharePoint-serverne.
Ofte bruger en SPD-workflow flere variabler end nødvendigt, men ikke altid. Kan antallet ikke skæres ned, er vej 3 den eneste.
Fremgangsmåde#
Først skal Workflow Service-adressen findes:
$wfProxy = Get-SPWorkflowServiceApplicationProxy
$wfProxy.GetWorkflowServiceAddress((Get-SPSite -Limit 1 -WarningAction SilentlyContinue))
Det giver noget i retning af http://workflow.contoso.com:12291/SharePoint/. Fjern /SharePoint/ til sidst, så er resten ServiceUri.
Indstillingen hedder WorkflowServiceMaxArgumentsPerActivity. Se først den nuværende værdi. Er den 50, er det standardopsætningen:
Get-WFServiceConfiguration -ServiceUri http://workflow.contoso.com:12291 -Name WorkflowServiceMaxArgumentsPerActivity
Og sæt den så op:
Set-WFServiceConfiguration -ServiceUri http://workflow.contoso.com:12291 -Name WorkflowServiceMaxArgumentsPerActivity -Value 100
De øvrige indstillinger i Workflow Manager står i Microsofts dokumentation af Set-WFServiceConfiguration.