My work in our Technical Support team here at Esri Australia has exposed me to a variety of web traffic related incidents. You can find many useful resources to track and disseminate this web traffic online, but I have found one (free) program to be more useful and intuitive than the rest – Fiddler. Fiddler is a fantastic tool that provides information on any web interaction within your ArcGIS Enterprise system, web mapping and mobile applications. This can empower you with a better understanding of your problem, deployment or user workflows.This post will not explore the ins and outs of Fiddler, as this has been well documented by a large and involved community (including Esri), but I would like to introduce you to an easy and tangible way you can look ‘under the hood‘ of web GIS.
Let us consider the following scenario:
I cannot log into ArcGIS Online in ArcMap ?!?!
That is a tricky one and the potential issues/solutions are open-ended. Would it not be great if we had a diagnostic tool that could pinpoint an exact error, step or message that the application is hitting? Well we do have that diagnostic tool and we are about to look at it now.
This is Fiddler (version 4.6.2) and it has a very simple interface of web traffic/log object on the left and detailed information per object on the right.
Let’s start looking at some data that is captured when I successfully log into ArcGIS Online in ArcMap. Unfortunately, Fiddler gives too much information, so I have had to censor heavily for the purpose of this blog post.
The below image is of a single record that was captured and collated by fiddler. The information indicates that a process called arcmap has requested information (HTTPS) from a host http://www.arcgis.com with the URL /sharing/files/esri.png. This URL and host is providing a content type of image/png. This single record is one of many that will appear in your Fiddler session and will only display the key information for that single request or process. If we want to learn more about this record, we will need to use the information that our Inspectors provide.
The Raw Inspector reveals that we have sent a GET request to https://www.arcgis.com/sharing/files/esri.png. We can see who the host is for this request location and any information about our connection, reference or client information.
The second Inspector is called WebView and as the name suggests, it displays the GET request as it would on the web. This request is calling for the esri logo that you see on the sign in page for ArcGIS Online in ArcMap. This example request is one of many that occurs when logging into ArcGIS Online and I would encourage you to use the process of signing into ArcGIS Online as an aid in learning how to understand Fiddler traffic.
Unfortunately, I cannot easily explore the requests that provide authorisation or log in details as they contain sensitive information. The issue of security is an important point to highlight as any user who accesses or receives your fiddler traffic (a .SAZ file) may be able to learn more about your machine and online profile than you would like! For the purposes of this blog, let us assume that the sign on worked correctly.
What if the sign on did not work correctly? What does this look like? The below screenshot is what Fiddler records when your machine does not have internet access while trying to connect to http://www.arcgis.com. Referring back to our scenario, why can’t this user sign into ArcGIS Online? Fiddler has reported that no network connections are available. If only all web traffic issues were this simple!
In addition to capturing web traffic for ArcMap, Fiddler also captured information from outlook, skype and any web browser that could not connect to the network. All of these processes look very similar in the inspectors and I want to stress that Fiddler is a fantastic diagnostic tool for ALL web traffic. Remember, do not restrict your searches to ArcGIS problems, as this program is used across all industries and workflows.
- Hopefully Fiddler identified the issue with a standard warning or error symbol, but these should not be relied upon
- If a specific user is experiencing the issue, it may be worth looking at requests with /auth/ or /token
- Some issues have been resolved by Fiddler reporting the specific proxy, firewall or anti-virus scanner that is blocking the request internally
- If a fiddler log has been requested, it is best to provide a .SAZ
- Fiddler can log HTTPS traffic but this will require exceptions to your security which may conflict with your internal IT protocols
- Any HTTP status response of 4xx (i.e. 404) should be looked at closely
- Fiddler is a diagnostic tool, it will not solve the problem but it may reveal it
I hope this introduction on using Fiddler with ArcGIS proved useful as the learning curve can be quite steep when opening the program for the first time. If you have any questions, please do not hesitate to comment below or contact me at firstname.lastname@example.org.