I published a Python script tool as a GP service in ArcServer. This script has a number of parameters (17 at the moment and possibly more as time goes by). Only two parameters are required. However, when I call the GPService from Silverlight (in C#), I have to specify ALL of the parameters, even the "optional" ones. If I do not pass a value for ALL parameters, the task fails with "ESRI.ArcGIS.Client.Tasks.ServiceException: Error Submitting Job." If I do pass a value for each parameter, the job runs fine.
Here's my issue: This service will be called from many Silverlight/ArcServer apps, and I would like to be able to add another optional parameter without breaking every app that calls the service. By adding a parameter, I will be effectively requiring each developer to republish their code to include a parameter their app probably doesn't care about.
Do I misunderstand the significance of setting a parameter to Optional versus Required?