This topic contains questions or issues that you may face when working with ArcGIS Viewer for Flex and recommended solutions. If you don't find what you are looking for, see the the Flex Viewer Overview, post your question on the ArcGIS Viewer for Flex forum, or contact Technical Support.
- Which functionality requires ArcGIS 10 for Server versus ArcGIS 10.1 for Server?
- How can I work with Viewer without having internet access?
- Do I need to download the Flex API to use the ArcGIS Viewer for Flex Application Builder?
- Can I use older compiled widgets with ArcGIS version 3.6 Viewer for Flex?
- How can I add a logo on the map?
- How can I remove the Esri logo at the bottom right on the map?
- How can I remove the Bing logo at the bottom left on the map?
- What's the equivalent of the Live Layer widget from the Sample Flex Viewer?
- What is the relation between Flex Viewer and ArcGIS.com?
- Which functionality requires ArcGIS 10 or ArcGIS 10.1?
- How can I verify the integrity of the downloaded ArcGIS Viewer for Flex files?
- Is there a mechanism for logging events in the ArcGIS for Flex Application Builder?
- Why can't I see changes to my application?
- Why does the Flex Viewer show Fault code: InvokeFailed and Fault info: Error #2148?
- Why does the ArcGIS Viewer for Flex show SecurityError: Error #2048: Security sandbox violation?
- Why am I not able to query or search my data using the Query and/or Search widgets?
- Why does the ArcGIS Viewer for Flex web application (and other Flex applications) show Error #2032: Stream Error?
- Why aren't all my symbols printing after using the Print Widget?
- Why am I not able to print over HTTPS?
- How can I tell what version of the ArcGIS Viewer for Flex was used when working in a Viewer web application?
For Flex developers
- Where is the main ArcGIS Viewer for Flex application located (that is, the application used to create a new application)?
- How can I change the default ArcGIS Viewer for Flex application created using "Create a new application" in Application Builder?
- How can I replace a core widget (for example, the HeaderController) in web applications created by Application Builder?
- How can I remove an existing core widget from Application Builder?
- How can I modify the default widgets used to Create a new application by Application Builder?
- Where are custom widgets stored?
- How do I remove a custom widget?
- Why am I not able to login to my own secure service REST service but am able to successfully login on other REST services ?
- Where are Application Builder settings stored?
Working with the ArcGIS Viewer for Flex application on iOS and/or Android devices
Working with the compiled version of the ArcGIS Viewer for Flex
Which functionality requires ArcGIS 10 for Server versus ArcGIS 10.1 for Server?
Please refer to System requirements in the ArcGIS for Flex API topics.
How can I work with Viewer without having internet access?
It is possible to work in Viewer without being connected to the internet. By default, Viewer sets the URL's to various services. You can change these to reflect a blank (or null) status by removing the URL completely using either the Viewier's Application Builder or changing its compiled or source code.
The following table describes the default service and its provided URL.
Portal for ArcGIS URL
Header Controller widget
See Header Controller widget for further information.
Geocode functionality - http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer
See Header Controller widget for further information.
Routing functionality - http://sampleserver6.arcgisonline.com/arcgis/rest/services/NetworkAnalysis/SanDiego/NAServer/Route
See Directions widget for further information.
Do I need to download the Flex API to use the ArcGIS Viewer for Flex Application Builder?
No. The ArcGIS Viewer for Flex Application Builder is built with the Flex API, which is embedded within the Viewer.
Can I use older compiled widgets with ArcGIS version 3.6 Viewer for Flex?
In general, it is best if all widgets were compiled with the same version of the application programming interface (API) and the same Viewer version.
Generally, you would want to keep the versions consistent as changes can occur within the API that may provide additional functionality that may not have been provided in earlier versions. For example, if working with an ArcGIS 10.1 print service, you would want to use a 3.x version of the Viewer as this takes advantage of the full printing functionality provided with Server.
This same premise applies prior to 3.x as well. If the widgets are version 2.2 or 2.3, they will work with version 2.3.1. Version 2.4 had minor changes to IWidgetContainer, EditWidgetAttachmentInspectorSkin, and NavigationSkin, which require code changes in older widgets to be made (and recompiled). Still, it is recommended that you upgrade your widgets and applications to the current version.
In general, the aim is for backward compatibility. However, widgets compiled prior to 2.4 do not work with the compiled 2.4 viewer. Also, compiled 2.1 widgets can only be used in version 2.1 as there was a minor, but breaking, change in the widget framework. As for using newer widgets in earlier versions of the viewer, this is different and generally not supported, as new widgets often take advantage of new capabilities that were not available in earlier versions.
How can I add a logo on the map?
Option 1—Use the <logo> tag in the main configuration file to set the logo shown in the top left when using the HeaderController.
Option 2—Use the StaticImage widget to display any image (including a logo or a legend) anywhere in the application.
How can I remove the Esri logo at the bottom right on the map?
Turning off the Esri logo and adding your logo with a link is much easier in version 2.2 than in earlier versions. In version 2.2, you can edit the config.xml file. There is no need to use the source code.
The <map> tag now has an esrilogovisible property (similar to the Flex API). To hide the Esri logo in the main configuration file, use the following code:
How can I remove the Bing logo at the bottom left on the map?
The Bing Maps license agreement does not allow removing the Bing logo.
What's the equivalent of the Live Layer widget from the Sample Flex Viewer?
The Query widget is similar to the old Live Layer widget. The Query Widget enables end users to query information from a map service by executing a predefined query.
What is the relation between Flex Viewer and ArcGIS.com?
The ArcGIS Viewer for Flex is not directly tied to the ArcGIS.com website. The Viewer is a stand-alone application that is downloaded onto a local web server. Its purpose is to be configured and/or customized to work with custom data content from ArcGIS Server or ArcGIS Online web services. Web maps published and shared on ArcGIS.com can be used with the itemid property in the main <map> tag, of the main configuration file, as an alternative to specifying basemaps and operational layers. Published web maps on ArcGIS.com can also be viewed by using Flex API applications.
Which functionality requires ArcGIS 10 or ArcGIS 10.1?
Most functionality works with ArcGIS Server 9.3 or above. At 9.3, the REST API was introduced, which is what the ArcGIS API for Flex uses to communicate with ArcGIS Server. However, some functionality was introduced in later versions with different minimum requirements:
- The Edit Widget requires an editable layer in a FeatureService and is only available with ArcGIS Server 10 or later.
- The Time Slider widget requires a time-aware layer and is only available with ArcGIS Server 10 or later.
How can I verify the integrity of the downloaded ArcGIS Viewer for Flex files?
Every download of the ArcGIS Viewer for Flex from the Esri web site has an associated MD5 checksum (see the following table). After downloading the file, calculate its checksum and make sure it matches the checksum in the following table.
You can use the checksum task of Apache ANT to generate an MD5 checksum of your downloaded file. On Mac OS X, bring up the Terminal and type md5 AppBuilder-3.6.air for the MD5 checksum of Application Builder.
Zip with source code
3.6 (December 13, 2013)
3.5 (September 19, 2013)
3.4 (June 30, 2013)
3.3 (April 24, 2013)
3.2 (March 19, 2013)
3.1 (December 12, 2012)
3.0 (June 6, 2012)
2.5 (November 30, 2011)
2.4 (July 25, 2011)
2.3.1 (April 26, 2011)
2.3 (April 14, 2011)
2.2 (December 10, 2010)
2.1 (September 21, 2010)
Is there a mechanism for logging events in the ArcGIS for Flex Application Builder?
Yes, starting with version 3.1 of the Application Builder detailed log files for all levels are stored at the following locations:
- Windows XP - \Documents and Settings\<user>\Application Data\com.esri.ags.AppBuilder3.x\Local Store\ab-log.txt.
- Windows 7 - \Users\<user>\AppData\Roaming\com.esri.ags.AppBuilder3.x\Local Store\ab-log.txt.
- Mac OS X - /Users/<user>/Library/Preferences/com.esri.ags.AppBuilder3.x/Local Store/ab-log.txt.
Why can't I see changes to my application?
- The most common scenario is browser caching. There are two solutions: clear your browser cache or refresh the specific file that you updated. If you modified the config.xml file, open that specific page in your browser (for example, http://<servername>/flexviewer/config.xml) and refresh the page (press F5 in most browsers).
- Another common scenario is server modifications not reflected in your application. If you made changes to your .mxd file in ArcMap, you need to republish the service, and clear the REST cache using ArcGIS REST API Admin.
Why does the Flex Viewer show Fault code: InvokeFailed and Fault info: Error #2148?
This can happen if you open index.html from the file system. You need to run the ArcGIS Viewer for Flex on a web server. If you get this error, make sure the uniform resource locator (URL) on the page shows http://something (and not file://something).
For more information on possible runtime errors, see Run-Time Errors on the Adobe website.
Why does the ArcGIS Viewer for Flex show SecurityError: Error #2048: Security sandbox violation?
This is most likely a cross-domain issue. This happens if you are connecting from a Flash application to resources on another domain. Either have the application hosted on the same domain as the resource (usually the ArcGIS for Server machine) or add a crossdomain.xml to your ArcGIS for Server machine.
Why am I not able to query or search my data using the Query and/or Search widgets?
Each query must have access to the Shape and Objectid fields for a layer. Make certain that these fields are not hidden before publishing them.
Why does the ArcGIS Viewer for Flex web application (and other Flex applications) show Error #2032: Stream Error?
This could occur for many reasons. One reason could be that your web server is not set up to handle SWZ files. To modify the MIME types on IIS server to include the SWZ file type, follow the steps at http://viveklakhanpal.wordpress.com/tag/error-2032-stream-error/.
Why aren't all my symbols printing after using the Print Widget?
There are certain limitations when printing using ArcGIS 10.1 for Server. Please see Print widget for a list of what is and is not supported when printing using an ArcGIS 10.1 for Server print task in your Print widget.
Why am I not able to print over HTTPS?
If you are making a request to a HTTPS URL (such as a print task service) from an ArcGIS Viewer for Flex application (SWF) hosted on a non-secure HTTP URL, you will need to modify the crossdomain.xml on the server hosting the print task service and make certain that it reads
<allow-access-from domain="*" secure="false"/>
How can I tell what version of the ArcGIS Viewer for Flex was used when working in a Viewer web application?
Right-click on the map within the web application. You should see two items in the context menu:
- About ArcGIS Viewer for Flex
- About ArcGIS API for Flex
This will provide additional information with version information for both the ArcGIS Viewer for Flex application and ArcGIS API for Flex.
Where is the equivalent of the old developer's guide PDF that came with the Sample Flex Viewer?
For developer information for ArcGIS Viewer for Flex, see Getting started for developers on the Resource Center.
Why are some images omitted from the export build of my modified Flex Viewer application?
This is due to embedded images not being copied to the Viewer's assets folder. In turn, if you try to reference this image by a URL, it will not work. You will need to make a copy of the image and use that image or manually copy the image in the export build.
Where is the main ArcGIS Viewer for Flex application located (that is, the application used to create a new application)?
The core ArcGIS Viewer for Flex application is located in C:\Program Files (x86)\ArcGIS Viewer for Flex\flexviewer (Windows 7).
How can I change the default ArcGIS Viewer for Flex application created using "Create a new application" in Application Builder?
Edit the default config.xml file in C:\Program Files (x86)\ArcGIS Viewer for Flex\flexviewer (e, g. for Windows 7 OS).
How can I replace a core widget (for example, the HeaderController) in web applications created by Application Builder?
Modify the SWF located in C:\Program Files (x86)\ArcGIS Viewer for Flex\flexviewer (e.g. for Windows 7 OS).
How can I remove an existing core widget from Application Builder?
To remove a widget from the widgets directory, remove the <widget>module.swf from C:\Program Files (x86)\ArcGIS Viewer for Flex\modules (Windows 7). As a best practice, you will also want to remove it from C:\Program Files (x86)\ArcGIS Viewer for Flex\flexviewer\widgets\ (e.g. for Windows 7 OS).
How can I modify the default widgets used to Create a new application by Application Builder?
Modify the config.xml file at C:\Program Files (x86)\ArcGIS Viewer for Flex\flexviewer\config.xml (e.g. for Windows 7 OS).
Where are custom widgets stored?
Custom widgets are stored in C:\Users\<user>\AppData\Roaming\com.esri.ags.AppBuilder3.0\Local Store\flexviewer\widgets (e.g. for Windows 7 OS).
Although the location displays '...AppBuilder3.0...', it applies to all 3.x versions of Application Builder.
How do I remove a custom widget?
The Manage Custom Widgets dialog box in the application builder's advanced settings provides the functionality to easily remove widgets. See Manage custom widgets.
Why am I not able to login to my own secure service REST service but am able to successfully login on other REST services ?
If you are working with REST services created using ArcGIS 10 for Server Java, the REST handler does not adhere to the supported REST specification for web service endpoints. When deploying these services, the URL pattern needs to match that of http://host.domain.suffix/arcgis/rest/services, http://host.domain.suffix/arcgis/services, and http://host.domain.suffix/arcgis/tokens.
Where are Application Builder settings stored?
Prior to version 3.4, the two setttings files were stored at C:\Users\<user>\AppData\Roaming\com.esri.ags.AppBuilder3.0.1\Local Store\#SharedObjects\AppBuilder.swf folder (Windows 7).
Starting with version 3.4, these files are now stored at C:\Users\<user>\AppData\Roaming\com.esri.ags.AppBuilder3.0.1\Local Store\#SharedObjects\Builder.swf folder
Is it possible to run the ArcGIS Viewer for Flex application on my iPhone or iPad?
No. There are two specific issues related to this.
- The ArcGIS Viewer for Flex is a standard Flex project, it would need to be re-written as a Flex Mobile Project.
- The ArcGIS Viewer for Flex uses Flex modules. These are not supported in Flex mobile projects. Flex modules are useful in a brower application because each module ("widget" in Flex Viewer terminology) is only downloaded when needed. However, native apps are already installed on the device, so downloading-as-needed doesn't make as much case. In fact, it is not even allowed/possible.
For more information regarding this, see Adobe FAQs.
If I still wish to use a previous option of working with the compiled source code and configuration files, how would I get it installed and configured?
If you wish to work outside of the ArcGIS Viewer for Flex Application Builder and use the compiled source code, follow the instructions at Getting started with the ArcGIS Viewer for Flex - compiled version.