AnsweredAssumed Answered

How to resolve "While parsing the text event, the end of line character was not found." using GeoEvent Server

Question asked by lscharen on Jan 24, 2017
Latest reply on Jan 24, 2017 by lscharen

Just getting started with GeoEvent Server and have run into an issue that seems like a misconfiguration on my part.

 

I have a Hosted ArcGIS Online Feeature Service with point data that I am using as input to the GeoEvent Simulator.  I have a GeoEvent Definition that matches my Feature Class schema.

 

My GeoEvent service is very simple and is just using the Receive Text from TCP Socket input adaptor and writing the output to Stream Service.

 

The issue is that the Input Connector does not receive any records when using the GeoEvent Simulator.  If I connect to the TCP Port manually and paste in my CSV record, it works as expected.

 

I turned on logging on the com.esri.ges.adapter.text.TextInboundAdaptor and I am seeing a repeated DEBUG error of:

 

       While parsing the text event, the end of line character was not found. The left overs ....

 

Which is followed by a long, concatenated list of the previously sent data.  Looking at the GeoEvent Simulator traffic in Wireshark, I can see that each event is being sent as a separate TCP packet and that, as the debug message states, there is no terminating newline character after each record.  When I am connected manually, I obviously type a newline to send the data and that explains the different behavior I've observed.

 

The core question is how to configure with GeoEvent Simulator or my Input Connector so that they are happy with each other?  I've tried setting the Message Separator in the Input Connector to blank, but that had no effect.  I've also looked through the help / config documentation for the GeoEvent Simulator, but have not found any place where I can define a message separator for the event stream.

 

My last resort would be to create a new attribute in my source feature class that I can insert a separator character and get it to appear in the event data payload sent by the Simulator, but that seems quite ... hackish.

 

Any pointers?

Outcomes