WorkFlow Manager Configuration fails with (400) Bad Request

Adding a node to your Workflow Manager Farm (Add-WFHost step) may fail with the following error seen in the configuration log- 

[Progress] [10.03.2015 11:43:01]: Workflow Manager configuration starting.
[Verbose] [10.03.2015 11:43:04]: Configuring Workflow Manager runtime settings.
[Progress] [10.03.2015 11:43:04]: Configuring Workflow Manager runtime settings.
[Error] [10.03.2015 11:43:05]: System.Management.Automation.CmdletInvocationException: The remote server returned an error: (400) Bad Request. --->
System.ArgumentException: The remote server returned an error: (400) Bad Request. ---> System.Net.WebException: The remote server returned an error: (400) Bad Request.
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at Microsoft.ServiceBus.Messaging.ServiceBusResourceOperations.GetAsyncResult`1.EndGetResponse(GetAsyncResult`1 thisPtr, IAsyncResult ar)
   at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
   --- End of inner exception stack trace --- 

Server stack trace:

Exception rethrown at [0]: 
   at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
   at Microsoft.ServiceBus.NamespaceManager.OnEndTopicExists(IAsyncResult result)
   at Microsoft.ServiceBus.NamespaceManager.TopicExists(String path)
   at Microsoft.Workflow.Deployment.Commands.WorkflowServiceConfigHelper.SetWFRuntimeSettings(String resourceDBConnectionString, String config)
   at Microsoft.Workflow.Deployment.Commands.AddWFHost.CallWFRuntimeSettings(Service wfserviceInfo, String unencryptedResourceConnectionString)

   --- End of inner exception stack trace ---
   at System.Management.Automation.PowerShell.EndInvoke(IAsyncResult asyncResult) 
   at Microsoft.Workflow.Deployment.ConfigWizard.CommandletHelper.InvokePowershell(Command command, Action`3 updateProgress)
   at Microsoft.Workflow.Deployment.ConfigWizard.ProgressPageViewModel.AddWFNode(FarmCreationModel model, Boolean isFirstCommand) 

If the earlier configuration steps have succeeded (namely configuring the ServiceBus Farm that is needed by WFM), you can check if you can connect to your ServiceBus namespace using the

ServiceBus explorer tool - https://blogs.msdn.com/b/paolos/archive/2014/05/21/service-bus-explorer-2-3-and-2-1-improved-version-now-available.aspx 

To get the connection string to connect to Service Bus Server, you can run Get-SBClientConfiguration from Service Bus Powershell.

If you get the same error using SB Explorer - The remote server returned an error: (400) Bad Request, please read on. (Otherwise, your issue may be a different one than the one that's described here).
Please check the AD Group membership for the service account provided during Workflow Manager configuration -

There is a known issue if this service account is a member of too many AD Groups.This leads to the Windows token that is generated for authentication by ServiceBus to be too large. The workaround is to either reduce the AD membership for this service account, or try the configuration with a new service account.

 

Written By
Arindam Paul Roy

Reviewed By
Jainath V R

Microsoft India GTSC