Provider with multiple additional parameters start but don't complete and duplicate key error in Event log

Problem

You have a workflow with a provider activity taking multiple additional parameters. When you order the service and look in the order management interface in Admin web, you see that workflow reach the Provider and it gets marked as Started. But then it stops. In the ZervicePoint event log you see the following error:

Message: Worker thread experienced an error. Waiting before retrying. Exception details: System.ArgumentException: An item with the same key has already been added.
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Collections.Generic.Dictionary`2..ctor(IDictionary`2 dictionary, IEqualityComparer`1 comparer)
   at Zipper.ZervicePoint.ProvisioningSystem.Service.ProviderCaller..ctor(IProvider provider, Int32 orderId, String instance, String method, IProviderInvocationInfo invocationInfo, IDictionary`2 config, IDictionary`2 parameters)
   at Zipper.ZervicePoint.ProvisioningSystem.Engine.WorkerEngine.PerformWork(ProviderRegistry registry)
   at Zipper.ZervicePoint.ProvisioningSystem.Engine.WorkerScheduler.<>c__DisplayClass7_0.<StartWithNewAppDomain>b__0()
Category: Provisioning

Solution

Check the letter case of your Additional parameters. There should be a two or more parameters with the same name but different letter case. Remove any duplicates.

Workflow stops with custom Provider activity in started state