Stream service does not work in ArcGIS online

6652
7
06-22-2015 09:52 AM
FelixStracke
New Contributor II


Hi,

I am testing Geoeventextension and have Problems with getting a stream Service work in ArcGIS online.

I have published a stream layer in WGS84 on AGS

The stream is working properly in the JS Viewer from the rest Interface of the stream service: http://servername:6080/arcgis/services/AIS_STREAM/StreamServer?f=jsapi

To add it to ArcGIS online i have tried the following

  • Add as a Feature layer to my Content (using the rest URL) in ArcGISonline AND
  • Add as a layer to the map (using the rest URL)

Both is possible but no Features get streamed in. When I start the streaming in the properties of the layer nothing happens at all.

Is that a known Problem? Is there a log available that may provide further Information?

Thanks and kind regards

Felix

Tags (1)
0 Kudos
7 Replies
XanderBakker
Esri Esteemed Contributor

I did a small test with some of the sample GEx services published here: Folder: /

... and when I viewed them in Chrome, I wasn't able to connect to them, but oddly enough when opened in Internet Explorer, they did connect. I was also able to add them as a service to the Web Map and they connected directly.

When I look at the Help, I see:

Streaming feature layers connect to an ArcGIS Server stream service using HTML5 WebSockets. WebSockets are a new feature of HTML5. Most modern browsers support WebSockets, however, they are not supported by all versions of browsers, such as Internet Explorer 8 or 9. To get more information about WebSockets and to test if a browser supports WebSockets, visit WebSocket.org

Could you try with a different browser?

0 Kudos
FelixStracke
New Contributor II


Hi Xander,

I have tried IE 10 and Firefox 38. Both Browsers Support web socket and html 5.

I am able to view the streams in the standard jsApi from the Rest Interface of the Services - this applies for my inhouse stream Service and for the sample Services you have mentioned above.

But I am not able to connect to the mentioned sample Services that you have linked above in ArcGIS online. I get an error message saying that the layer can't be added to the map...


I have tried to add them with the rest URL of the specific Service (e.g. the world sattelite one) directly to a map and to add the layer as a Feature layer to my content...

Is there a looging function included in ArcGIS online that helps to narrow down the Problem?

Thanks and Kind regards

Felix

0 Kudos
XanderBakker
Esri Esteemed Contributor

As far as I know, there is no logging on ArcGIS Online that a user can access. 

I added the sample streaming service with this URL:

http://geoeventsample3.esri.com:6080/arcgis/rest/services/SeattleBus/StreamServer 

... using the Add Layer from Web option.

It does not connect to the socket using Chrome, but strangely enough it does using Internet Explorer.

Maybe you could have a closer look using the ArcGIS Online Assistant and see how the json is defined for the webmap.

AndreasEspersen
New Contributor III

Hi Felix,

I am having the same problem.

Running the steam service directly in the JS Viewer everything works fine.

When Adding the stream service to a web map on arcgis.com and clicking 'start streaming as shown below nothing happens....

Clicking streaming controls again I can choose to start streaming  - again.....

Been trying with IE11 and Opera 30.

-Andreas

0 Kudos
DavidBlanchard
Esri Contributor

I tested both the sample service and in-house services all IE-11, Firefox, and Chrome and they all worked fine for me in ArcGIS Online.

If you are still experiencing issues, hit the F12 key in your browser and check the console for an error. As for those who cannot access the Stream Service from any browser, their may be a firewall on your network blocking the websocket connection.

RJSunderman
Esri Regular Contributor

All -

Mark Bramer and I presented a technical workshop 'Leveraging Stream Services' at the User Conference in San Diego last week. A draft of the slides from the tech workshop are available now online: Real-Time GIS: Leveraging Stream Services

Videos of the technical workshops from the 2015 UC should be available to review and download from Esri's E80 site in a few weeks. Your best bet will probably be to search for the keyword 'GeoEvent' and look for items with the 2015 UC logo:

Capture1.png

In the workshop I demonstrated how a very simple feed providing the International Space Station's location (http://api.open-notify.org/iss-now.json​) could be brought into the GeoEvent Extension and broadcast out a stream service output. Mark discusses some of the technical aspects of stream services and stream layers, and I have a demo where I add a stream service I publish to a web map as a stream layer.

It looks like folks on this thread are generally able to access the sample stream services:

... and are able to click the View In: ArcGIS JavaScript link to see the streaming data displayed using the Java Script API.

Are you able to browse to a specific stream service's subscription endpoint (e.g. geoeventsample3.esri.com:6080/arcgis/rest/services/SeattleBus/StreamServer/subscribe​), click 'Subscribe' and see the streaming Esri Feature JSON displayed on the HTML page?' This is usually your first test to verify that event data you are processing through the GeoEvent Extension is being broadcast by the stream service. From here it is up to a JavaScript client to subscribe and receive the streaming data.

If you are having problems adding a stream service to an ArcGIS Online web map, or a Portal for ArcGIS web map, as a stream layer using a web browser which supports HTML5 WebSockets, your best bet will probably be to contact Esri Technical Support for help identifying the issue. As David suggested, a firewall restriction, restriction related to web sockets, or issues with SSL security certificates can all interfere with a client's attempt to subscribe and receive data being broadcast by a stream service.

Thank you David BlanchardAndreas Espersen​ and Xander Bakker​ for contributing to the thread.

Hope this information helps --

RJ

FelixStracke
New Contributor II

Hi there,

we have identified and solved the Problem. Please ind our test approach ad solution below (all using http not https):

  • General purpose: Access internal hosted stream Service in AGOL
  • Stream service works fine in IE10 when using REST Interface (View in Javascript) and it's also possible to subscribe to the websocket... (all via the rest Interface of the stream Service)
  • Adding stream in AGOL in Firefox works. Stream gets displayed
  • Adding stream in AGOL using IE 10 does not work.  Layer is added but streaming does not start / its not possible to make it start. Konsole (F12) throws a security error

The solution in our Company was to change of the Internetzone of the Server hosting the stream service. Due to some (unkown) security policys the websocket (InTRAnet zone) was not accessible from AGOL (InTERnet Zone). Changing the zone of the hosting server from Intranet to Internet solves the problem. But make sure that the server addresses registered in Internet zone and as used in AGS Webadaptorfull is the same (myserver.mydomain.com vs. myserver.com will make a difference in that case...).

Hope that was of help

Kind regards

Felix