I have a tool which can also be used at the server. It currently has two inputs and one output. The two inputs are defined to use the Standard_Point schema we have defined in our dataset. I added two new parameters which I added as optional input:Blockage_Schema which is defined as just a polygon feature. The other one is Delay_Schema which is a polygon with an additional 2 fields added to the schema definition.The parameter definitions are as follows:
get
{
IArray parameters = new ArrayClass();
// origin point for all calls
IGPParameterEdit3 inputPoint =
GPUtilities.CreatePointRecordsetParameterEdit("StationPoint", "Station Point", "Standard_Point",
esriGPParameterDirection.esriGPParameterDirectionInput,
esriGPParameterType.esriGPParameterTypeRequired, new GPFeatureRecordSetLayerTypeClass(), true);
parameters.Add(inputPoint);
// target point array
IGPParameterEdit3 targetPoints =
GPUtilities.CreatePointRecordsetParameterEdit("TargetList", "Target List", "Standard_Point",
esriGPParameterDirection.esriGPParameterDirectionInput,
esriGPParameterType.esriGPParameterTypeRequired, new GPFeatureRecordSetLayerTypeClass(), true);
parameters.Add(targetPoints);
// blockages
IGPParameterEdit3 inputBlocks = GPUtilities.CreatePointRecordsetParameterEdit("InputBlocks",
"Input Blocks", "Blockage_Schema", esriGPParameterDirection.esriGPParameterDirectionInput,
esriGPParameterType.esriGPParameterTypeOptional, new GPFeatureRecordSetLayerTypeClass(), true);
parameters.Add(inputBlocks);
// delays
IGPParameterEdit3 inputDelays = GPUtilities.CreatePointRecordsetParameterEdit("InputDelays",
"Input Delays", "Delay_Schema", esriGPParameterDirection.esriGPParameterDirectionInput,
esriGPParameterType.esriGPParameterTypeOptional, new GPFeatureRecordSetLayerTypeClass(), true);
parameters.Add(inputDelays);
IGPParameterEdit3 outputPoints =
GPUtilities.CreatePolylineRecordsetParameterEdit("OutputList", "Output List", "Distance_Schema",
esriGPParameterDirection.esriGPParameterDirectionOutput,
esriGPParameterType.esriGPParameterTypeDerived, new GPFeatureRecordSetLayerTypeClass(), true);
parameters.Add(outputPoints);
return parameters;
}
When I run the tool I get this error for the optional fields:[ATTACH=CONFIG]29866[/ATTACH]When I track down the error it states that the input is an invalid geometry and only points, polylines, and polygons are allowed.WHY?