include layer via my own REST service and not from AGOL

6792
19
02-25-2015 01:16 AM
TomGeo
by
Occasional Contributor III

Looking into the possibilities that come with the WAB I can't see the possibility to refer to one of my own services. Looks like people that have their data at AGOL are fine, but I can't upload certain data to AGOL since I am simple not allowed to give them out of house.

Hence, how is it possible to refer to web services delivered by our own ArcGIS Server?

I found this posting here (Do you have to use AGOL to use WAB? ) that might offer this, but the comments to the initial posting leave me a bit in doubt. Also, it is not satisfying to go via a hack to create standard functionality.

Bests Thomas

- We are living in the 21st century.
GIS moved on and nobody needs a format consisting out of at least three files! No, nobody needs shapefiles, not even for the sake of an exchange format. Folks, use GeoPackage to exchange data with other GIS!
0 Kudos
19 Replies
JakeSkinner
Esri Esteemed Contributor

Hi Thomas,

Currently, this is only possible by adding the ArcGIS Server service to the web map, or manually editing the config.json.  One way that may be an option for you is to use Web AppBuilder with Portal for ArcGIS.

berniejconnors
Occasional Contributor III

I agree with Jake - the simplest solution is to include your own ArcGIS Server map services in an AGOL web map and then include the web map in the config for Web AppBuilder.  Please be aware that you don't have to put your data in the AGOL cloud.  You simply publish a pointer back to your own server.  Here is a sample I have published:

http://geonb.maps.arcgis.com/home/item.html?id=b70eaac05659415a801b476b237f9989

This works fine for non-secure map services.  I have not yet done this with secure map services.

Bernie.

0 Kudos
LarryStout
Occasional Contributor III

I have two servers.  One public and one not.  I've published services from both to AGOL.  It works fine as long as I can see the non public server.  So I wrote a small JavaScript file that intercepts the WebMap definition and removes services it can't resolve and optionally secured services (based on a URL parameter).

I've updated the links I had originally posted below.

Larry

0 Kudos
AnthonyGiles
Frequent Contributor

Thomas,

Have a look at the LocalLayerWidget and AccessifizrWidget developed by Adam Drackley‌:

LocalLayerWidget and AccessifizrWidget

Regards

Anthony

0 Kudos
RobertScheitlin__GISP
MVP Emeritus

Thomas,

    The discussion I wrote about Do you have to use AGOL to use WAB?‌ was back in Beta2 of the Web App Builder they introduced an ability to use your own ArcGIS Server services but this was then removed/messed up in subsequent releases (this was always undocumented ability).

As Anthony points out Adam and I have spend time developing a good alternative the LocalLayerWidget and AccessifizrWidget‌ it gives you the ability to use your own ArcGIS Server services but does still have a requirement to begin with a AGOL web map as the starting point to set LODs and spatial reference of the map but then all your layers from ArcGIS Server can override everything but the LODs and Spatial Reference. Give it a try right now this is your only option beside using a local Portal like Jake suggests.

RebeccaStrauch__GISP
MVP Emeritus

as Anthony mentioned, check out LocalLayer widget and Tips for using the custom LocalLayer widget with WAB-Dev edition   might help.

0 Kudos
LarryStout
Occasional Contributor III

Thomas,

You don't have to move your data to AGOL to author a web map.  The map below points to my servers for every service.  In fact, I have copied no data to AGOL.

http://hamco.maps.arcgis.com/home/webmap/viewer.html?webmap=09ab39d0c3ce4d8aae8aacfa47e7b818

Here's a link to my "souped up" WebApp Builder that uses the above map:

http://gis.hamiltoncounty.in.gov/mapviewer/index.html

TobiasFimpel1
Occasional Contributor III

Larry - I'd be interested to see how you got the html table in the pop-up to work - I'm unable to do this with web map configured pop-up windows. The link to the webmap isn't publicly accessible, and when I look at the webmap that I think you linked to I can't  see a pop-up at all. (?) (Sorry for hijacking this thread. Larry's answer is the correct answer to the original question.)

0 Kudos
LarryStout
Occasional Contributor III

Tobias,

Here's the short version.  I have a widget (Acme) that is an on-screen widget, but does not display.  Being an on-screen widget, it is started when the app starts.  It reads the HTML template for a feature layer from the Acme config file and then sets it as the infoTemplate on the layer.  Here's a code fragment:

customInfoTemplate = new PopupTemplate();
customInfoTemplate.setTitle(lang.hitch(this, '_getInfoWindowTitle', content.title));  // for mobile popup title
customInfoTemplate.setContent(lang.hitch(this, '_getInfoWindowContent', content));
layer.setInfoTemplate(customInfoTemplate);

I can send you the long version if you like.

Larry