r.spitzergeosecure-de-esridist

GeoEvent Processor: Invalid JSON Output on WebSocket

Discussion created by r.spitzergeosecure-de-esridist Employee on Sep 3, 2014
Latest reply on Aug 7, 2015 by rsunderman-esristaff

The JSON Output via WebSocket on the ArcGIS GeoEvent Extension returns invalid JSON Objects if the GeoEvent Service has to handle more than one track at the same time.

 

In our test scenario we have a simple GeoEvent Service that receives JSON on a REST endpoint. The output JSON will be provided via WebSocket.

1.png

 

To simulate the tracks that will be send to the REST endpoint we used a small JavaScript Tool that is attached.

2.png

 

In general the data that is received via WebSocket contains valid JSON objects, but when sending more than one track to the REST endpoint, we very often receive invalid JSON objects within the data objects of the WebSocket message.

 

Following is unexpected in the data string of the message:

  • data contains a complete JSON Track followed by one more curly bracket ‘{‘
  • the starting curly bracket ‘{‘ of the JSON Track is missing
  • data contains two complete JSON Tracks without any separator or squared brackets to define it as list  {“geometry”: …. , “TrackID”: 1}{“geometry”: …. , “TrackID”: 2}

 

It’s possible to see the problem when connection the WebSocket endpoint with the integrated website:

3.png

 

Is this a already known Issue? Is there any chance to configure the GeoEvent Processor to send exactly one track per message?

 

The most important thing is that we expect to get a valid JSON object within every WebSocket message.

Attachments

Outcomes