Issues w/ viewing a Stream Service on a Mobile Device

1448
8
07-17-2020 09:58 AM
ISP_graynic
Occasional Contributor II

Hello!  I have a StreamServer that is processed using GeoEvent from an AVL feed.  I am able to add the stream service to a webmap in Portal or Online and see the streaming location.  When I try to view the webmap on a mobile device however it will not load.  I also tried to view the webmap via Explorer and get an error (Error Code 7005: Layer failed to load).  Has anyone else had issues with viewing a stream service in a webmap on a mobile device?  Thank you!

0 Kudos
8 Replies
DerekLaw
Esri Esteemed Contributor

Hi Nicholas,

> I am able to add the stream service to a webmap in Portal or Online and see the streaming location. ... I also tried to view the webmap via Explorer and get an error (Error Code 7005: Layer failed to load). 

FYI, viewing stream services in ArcGIS Explorer is not supported,

Make maps—ArcGIS Explorer | Documentation 

(see limitations section)

Hope this helps,

0 Kudos
ISP_graynic
Occasional Contributor II

Thank you Derek Law‌!  Do you know if this limitation also applies to basic webmaps and apps outside of Explorer on mobile devices?

0 Kudos
DerekLaw
Esri Esteemed Contributor

Hi Nicholas,

Apologies for the late reply, I've been out of the office on vacation after the esri virtual UC.

> When I try to view the webmap on a mobile device however it will not load. ... Do you know if this limitation also applies to basic webmaps and apps outside of Explorer on mobile devices?

Can you please be more specific, how are you viewing the stream service if not in ArcGIS Explorer? and on what kind of device?

0 Kudos
ISP_graynic
Occasional Contributor II

Not a problem Derek Law‌!  I'm trying to view it in either a webmap via a mobile browser, or a webapp in a mobile browser built in ArcGIS Online.  I'm trying to access it on an iPhone.  

0 Kudos
RJSunderman
Esri Regular Contributor

Hello Nicholas Gray

A couple of things you might try, to see if you're able to get a client to successfully subscribe to the stream service:

  • On your mobile device, browse to https://websocket.org/echo.html
  • For the Location enter wss://my-machine:6143/arcgis/ws/services/my-stream-service/StreamServer/subscribe
    • Substitute your fully-qualified machine's domain name for my-machine and the name of your published stream service in the ArcGIS REST Services Directory for my-stream-service.
    • You can find the basis for this URI if you click the JSON link in the top-left corner of the stream service's web page in the ArcGIS REST Services Directory. Scroll to the bottom of the JSON service spec to see the URI.

I can browse to the ArcGIS REST Services Directory on my laptop and subscribe to the stream service via REST, and also use the WebSocket.org echo test to connect to see the feature record data as it is broadcast – probably because I've configured SSL certificates with trust for the Esri domain on the target machine and have a VPN running on the laptop enabling me to reach the machine on which GeoEvent Server is running.

I found, for example, that I cannot browse to the ArcGIS REST Services Directory from my mobile. That would make trying to use the WebSocket.org echo test to connect to the stream service's web socket a non-starter.

I can create a web map, again on my laptop, adding the stream service as a stream layer, and save it to my ArcGIS Online organization. I can log-in to ArcGIS Online from my mobile and access the web map – but I don't see any of the stream layer's data ... again, likely because without a VPN the web map client cannot access the machine running ArcGIS Server to browse its REST Services Directory or reach the web socket endpoint hosted by GeoEvent Server.

Assuming that access to the machine from your mobile is not the problem, you might check the ArcGIS Server's SSL certificate configuration. The web browser on your mobile may need to see something to validate the HTTPS (or in this case WSS) connection. Using the WebSocket.org echo test is a good resource to see if clients external to your ArcGIS Enterprise are able to connect to a web socket being run by the GeoEvent Server.

Hope this information is helpful –
RJ

DerekLaw
Esri Esteemed Contributor

Thanks for your comments RJ very insightful!

FYI Nicholas - I asked him to comment on your issue.

Hope this helps,

0 Kudos
ISP_graynic
Occasional Contributor II

Thanks for the info RJ Sunderman‌.  I tried the test with the websocket.org site with the URI I pulled from the JSON for the stream service, and when I clicked Connect, my phone automatically turned on VPN, but the log returned a message saying "ERROR: undefined".  I'm guessing this means it's not able to access the server that the stream service is running on from my mobile device. 

0 Kudos
BrianHjort_Nielsen
New Contributor III

Hi. I have the exact same issue with consuming StreamServices on mobile devices.

We are using GeoeventServer to stream our own data from our own geoevent server. Works fine on every device except Mobile phones and ipads (have not tried android pads). 

I have no issue browsing to the ArcGIS Server rest interface from the phone, and opening the service on my phone using the View in: ArcGIS JavaScript.

But by opening it that way on the mobile device(rest api), the stream service url: is not changing from red to green, like it does on a computer, so the stream is a no go that way also.

I am using the service in a webapp, using arcgis online WebappBuilder.

The same app works fine on everything except mobile devices. And i have tried using 4G 5G and Wifi, with the same result.

I have also made the url public, in order to rule out it being unable to reach due to credentials.

0 Kudos