I am trying to pass data from the Poll an External Website for XML input to a stream service but receive the following error: "The GeoEvent received from the GeoEvent Service (GPSDef) is a different type than the schema of the destination Stream Service (stream-out)"
The stream service schema was published from the definition created automatically by the input (and it is not set to learning mode). So why does it think they're different? I tried this with and without field mapping, but get the error either way. I also tried passing the same data to a feature service and it worked, so I know the input is coming in alright.
We are using GeoEvent 10.6.1
Do you mind if I ask you to show us what the schema looks like for both the Stream Service and the Feature Service? You can check this by going to the REST endpoint for each service and clicking on the layer ID.
Also, this can very well be a small fluke. Have you already tried republishing the stream service and re-implementing the new service into the Geoevent service?
The feature services just has a subset of the stream service fields (see below.) After looking into this, I noticed that the GeoEvent service does have some extra fields due to nested JSON. I tried just mapping a few fields that I know exist in both the stream service and the input data, and although it shows records going "out" to the stream service (under the Monitor page), I'm still getting the original error and no points are displayed when I load the stream service
I republished the stream service and recreated the GeoEvent service multiple times.
You may not have this issue anymore, but I thought I'd comment all the same in case someone chances upon this post.
Typically, I'd recommend working with a flattened schema. Also, I note that the Stream Service schema Latitude/Longitude fields areand you have no Geometry field. Therefore, it would seem that there's no information that could be used to draw points in the output.
I don't mean to further complicate your issue, but in order to have points draw I think you'll want to convert your Latitude/Longitude values to double and use those values then to calculate Geometry.
That's the thing. Since 10.6.1 it automatically filters out the geometry field.
Our streaming service broke since the update and we noticed that the input and output works the same way as before and we get a throughput including a geometry column. But the moment it gets published as a service the field disappears, subscribing gives nothing, and the same error comes up as the one Ellen has.
I see. And the same thing happens when you create a new GeoEvent Definition with the geometry field explicitly created?
For your service:
Thank you for your suggestions. I've tried several different versions of this, but with no luck. I used the field calculator expressions from this post. Is this the same general idea that you are suggesting or is there a better way to convert the strings to doubles and back to geometry?
I also noticed that while my earlier list of fields didn't include geometry, it is listed elsewhere in the stream service. I just didn't copy enough info in my earlier reply.
Geometry Type: esriGeometryPoint
Geometry Field: geometry
Spatial Reference: 4326 (4326)