We have a GeoEvent Service that accepts input as JSON on REST endpoint and then adds that input to an ArcGIS Server Feature Service. Our Feature Service recycles its configuration every 24 hours starting at 00:00 hours. I am wondering how the GeoEvent Service will handle messages received while the feature service is being recycled. Our GeoEvent Input will still return a status 200 since it received the JSON payload but I am wondering if the insert will fail due to the service being unavailable or will the GeoEvent Service save the event and iteratively try another call? I imagine we can design the integration to account for this but it would be added work for our integration team. Wondering if anybody has any experience dealing with this issue or any advice? Thanks in advance.
Hi James Madden,
your GeoEvent Input will always return a status code 200 as long as the REST Endpoint is running and GeoEvent is able to parse the incoming JSON. In this case the JSON is now converted to a "GeoEvent-Object" for internal processing in the GeoEvent Service. So the Client will not get any feedback if further processing in the GeoEvent is successful or not.
Now your output connector is trying to write the data to the feature service. This is also more or less stateless. So it is possible that even the output connector cannot tell you if the feature was written successfully. The connector is sending a request to REST API of the ArcGIS Server to write the features. Now it is up to ArcGIS Server to write the features into the database. If ArcGIS Server is returning a error message to the GeoEvent you should find it in the logfiles of the GeoEvent. But as far as i know there will not be a second attempt from GeoEvent in this case.
Long story short, i don't know if the insert is going to fail while recycling. But i still hope the understanding how GeoEvent behaves in this case helps you a little bit