We are developing a Koop custom provider and plugin for CosmosDB. We have a substantial amount of items stored in CosmosDB with latitude and longitude. The provider is translating the CosmosDB item properties to JSON and serving them as a Geoservice.
Calls to /rest/services/FeatureServer/0/query are working. Data is returned and the request finishes in 1-3 seconds, so we're happy with this performance.
The problem is when we try to add the URL as a new item in ArcGIS Portal. We've deployed our Koop server instance to Azure as a docker container and running as an app service. We can access it from anywhere on the web via Postman or a browser and it returns query results. But the endpoint /FeatureServer fails. It fails without any details in Portal. For comparison we tried to add the URL for the built-in github provider that comes with the koop sample app. This succeeds. So my question is, what additional configuration is required when writing a custom provider to allow ArcGIS Portal to add it as an item?
One difference I have noticed between the built-in github provider and our custom CosmosDB provider, is that the github provider responds to calls to /FeatureServer and displays the service's JSON properties. When I try to call our custom provider at /cosmosdb/rest/services/FeatureServer via Postman I get this response:
{
"error": "invalid extent passed in metadata"
}
I didn't see anywhere in the Koop docs explaining how to configure the service's properties. Is this explained anywhere?