Click or drag to resize

Troubleshooting a GeoStream Server

Verizon Connect Logo
Print this page
Learn more about Verizon Connect GeoBase.
Get information about the latest release

This topic will assist in troubleshooting common problems encountered when setting up a GeoStream server. If you do not find the solution to your problem on this page, e-mail GeoBase support via gbsupport@verizonconnect.com, including diagnostic information captured using the instructions on this page.

Capturing Diagnostic Information

To gain the information required for efficient troubleshooting, we recommend that you use an HTTP inspector, and optionally enable GeoStream's diagnostic logging modes.

Using an HTTP Inspector

HTTP inspection tools let you view requests/responses sent to/from remote servers via HTTP and HTTPS. These are built into many modern browsers such as Google Chrome, and there are also third-party, browser agnostic solutions available, such as Telerik Fiddler. In our examples here, we will discuss Telerik Fiddler, but the same concepts and terminology should be equally applicable to other HTTP inspectors.

When the GeoStream server handles any request, it will send a response. There are three parts of this response that are of particular interest for diagnostic purposes:

  • HTTP Status Code - a numeric code indicating the status of the response. Numbers in the 2XX range indicate success, whereas numbers in the 4XX-5XX range indicate an error. In Telerik Fiddler, this is shown in the Result column of the main view.
    fiddler result
  • Response Headers - the headers of the HTTP response returned by the GeoStream server. If a known error condition is encountered, the GeoStream server will append a custom Error header in the Miscellaneous section, containing a diagnostic error message. In Telerik Fiddler, this can be found in the Headers tab of the response pane, in the bottom right.
    fiddler headers
  • HTML Error Pages - if the GeoStream server is unable to start succesfully due to problems in the IIS environment, then no custom Error headers will be present. In these circumstances, it is worth inspecting the HTML Error Page automatically generated by IIS, as this may contain useful diagnostic information. These will be displayed in the browser if the error occurs when loading the page itself; if the error occurs when requesting a resource for that page (such as a tile), then an HTTP Inspector can be used to view these. In Telerik Fiddler, this can be done via the WebView tab of the response pane, in the bottom right.
    fiddler webview
Tip Tip
Telerik Fiddler supports saving the HTTP request/response history into a session archive file, via File -> Save -> All Sessions. These may be requested by GeoBase Support when assisting with complex GeoStream issues.

GeoStream Logging

The GeoStream server supports optional diagnostic logging, which can be enabled by adding keys to web.config as children of the <appSettings> element. Logs will be created within your GeoStream Data Directory, as defined by the GeoStreamDataFolder key in web.config, in a sub-folder named Logs. Each log will be namespaced and timestamped in UTC.

For the diagnosis of general GeoStream issues, enabling Exception logging is recommended. This will log any errors encountered by the GeoStream server when serving tiles or handling JSON requests.

XML
<appSettings>
    ...
    <add key="ExceptionLogging" value="true" />
    ...
</appSettings>

This creates logs with the following format: geoStreamExceptions_UTCDATE_UTCTIME.log.

To look through the history of the GeoStream server utilization, enable live stats logging. This is a diagnostic tool that logs the contents of the stats-live page every 5 seconds. The stats-live page shows the currently running tasks and the overall GeoStream load. The logging information can be useful if the GeoStream server gets overloaded or if there are long running tasks.

XML
<appSettings>
    ...
    <add key="LiveStatsLogging" value="true" />
    ...
</appSettings>

This creates logs with the following format: liveStats_UTCDATE_UTCTIME.log.

If you are specifically having problems with WMS feeds, including satellite imagery, then enabling WMS Logging is also recommended; this will log details of all WMS requests and any errors occurring upstream, on the WMS/Satellite Imagery server.

XML
<appSettings>
    ...
    <add key="GeoStreamWMSLogging" value="true" />
    ...
</appSettings>

This creates logs with the following format: wms_UTCDATE_UTCTIME.log.

If you are specifically having problems with geocoding requests, including AutocompleteGeocoding and Location Searches, then enabling Geocoding Logging is also recommended; this will log details of all geocoding requests.

XML
<appSettings>
    ...
    <add key="GeocodingLogging" value="true" />
    ...
</appSettings>

This creates logs with the following format: geocoding_UTCDATE_UTCTIME.log.

Failure to Display Map Tiles

To diagnose tile loading errors, open an HTTP inspector and attempt to view http://localhost/GeoStream/tile.aspx?t=6,-2,300,2,5. This should display a map centered on the Pacific Northwest.

Note that this assumes you are working on the server itself; if not, replace localhost with your server's hostname. Alternatively, run your HTTP inspector on the client during a GeoStream session, and multiple requests to tile.aspx will be captured; this is useful for pinning down authentication based issues, which will not be captured by the test URL above.

Caution note Caution
In its default configuration, Telerik Fiddler will not display requests to localhost. Substitute either your server's hostname, or 127.0.0.1, the loopback IPv4 address.

The table below will assist in troubleshooting your map issues, based on the response received:

Error HeaderHTTP StatusShown in BrowserDiagnosis
None200 OKBeige tile with no coastline or road network GeoStream server is working correctly, but has no map data for the map area requested. This may indicate that you lack USA or Global data, or that the GeoStream server is looking in the wrong location for GBFS files. Check your RepositoryConfig settings and restart the GeoStream server.
Failed to Validate License500 Internal Server ErrorGeneric Error Page The GeoStream server either failed to find a license, or in the case of an SDK license, failed to contact the GeoStream license server for validation. Check your license is present in one of:
  • C:\Program Files (x86)\Telogis\GeoBase\GeoBaseResources\licenses (SDK installation)
  • C:\inetpub\wwwroot\GeoStream\Licenses (GeoStream only installation)
  • The Bin folder of your GeoStream server (Custom installation)

If using an SDK license, check that your server can send/receive data to http://licenses.telogis.com:80.

No valid GeoStream server license found500 Internal Server ErrorGeneric Error PageThe license file currently in use does not support GeoStream server functionality. Contact GeoBase Support to check that your license entitlements correctly reflect your contract.
Valid *.config could not be loaded (for example repository.config)500 Internal Server ErrorHTML Error PageThe corresponding configuration file is either missing, or contains corrupt XML. Repair/replace the file and restart the GeoStream server.
Authentication is required for this operation on this server.401 UnauthorizedGeneric Error PageYour GeoStream server requires an authentication token for requests received from your IP address, and no token has been provided, either in the request URL or via a cookie. Authentication-free IPs or IP ranges can be configured via the FriendsFile in your GeoStream server directory. If you are seeing this message from a remote machine, you need to ensure your client is completing GeoStream authentication of some kind and providing a valid token. See GeoStream Security for more information.
Your client's permission to access the server has expired. Please re-authenticate.401 UnauthorizedGeneric Error PageThe authentication token provided in your request is either invalid, or has exceeded the validity period it requested when issued. You will need to request a new authentication token. See GeoStream Security for more information.
None500 Internal Server ErrorError Page:

geobase64.dll (XXXXXXX) and geobase.net.dll (YYYYYYY) versions don't match

The DLLs being used by the GeoStream server are a mixture of two releases, preventing the GeoStream server from starting successfully. This most frequently occurs after the incorrect application of a GeoBase hotfix. Check the Bin folder of your GeoStream server in Windows Explorer, right clicking to check the version numbers of the geobase.net.dll, geobase.dll and geobase64.dll files. Replace whichever files are required to produce a consistent set, then restart the GeoStream Server.
Failure to Display Satellite Imagery

If regular map tiles are working correctly, but satellite imagery is failing to display, then there could be a number of different root causes; for example incorrect credentials, problems contacting the satellite imagery server, problems on the upstream server. To capture diagnostics, we recommend enabling WMS Logging (see above), running an HTTP Inspector then either viewing the sample script tutorial.satellite-imagery.aspx (JavaScript) or enabling Satellite Imagery in the Map Explorer sample application (.NET) via Map Style -> Satellite Imagery.

The table below outlines different Error headers that may be included in responses from tile.aspx when requesting satellite imagery. In all circumstances, the GeoStream server will return an HTTP 200 OK response, together with an uncacheable, short expiry basemap tile in place of the requested satellite tile.

Error HeaderDiagnosis
Error fetching Wms Imagery: Area not available for trial A trial satellite imagery account is created with new installations of the GeoBase SDK. This account has a 30 day time limit, and can only display the Pacific Coast of the USA, roughly equivalent to our PacWest data file region; attempts to view satellite imagery outside that area will result in this error. Contact your account manager if you want to trial satellite data for other areas of the globe.

If you are seeing this error appear despite having a different satellite username/password set in your web.config via the SatelliteUser and SatellitePass elements, then you will need to check your web.config file for the presence of a SatelliteAuthKey element, delete this, then restart the GeoStream server.

Error fetching Wms Imagery: Your client's permission to access the server has expired. Please re-authenticate. This error will occur if you are using a trial satellite key which has expired; these are issued with a 30 day expiry period from when you first install the GeoBase SDK. Contact your account manager to arrange an extended trial.
Error fetching Wms Imagery: Area not available for <username> The <username> component of the error corresponds to the value of the SatelliteUser element in your web.config file. This indicates that the area you are attempting to view is not included in the areas defined as visible for your username; this may be a limitation of your satellite imagery contract, or an administrative error. Contact GeoBase support for further assistance.
No response from Imagery Server. This may indicate one of the following:
  • The GeoStream server is unable to contact the satellite imagery server, http://imagery1.telogis.com/ImageryCache/, either due to a lack of internet connection, or due to firewall rules. Check your network connection and firewall rules.
  • The Verizon Connect satellite imagery server is not functioning correctly. Contact GeoBase support for further assistance.
Error fetching Wms Imagery: Unable to authenticate with imagery cache for imagery layer WMSSatellite This error indicates that you either have an incorrect username or password set in your web.config via the SatelliteUser and SatellitePass elements. Check these entries against set up mails received from Verizon Connect; if all looks correct, contact GeoBase support for further assistance.
Note Note

An additional cause for not displaying satellite image tiles could be the fact that you have not disabled the proxy server in the web.config file or specifically defined a proxy server. If this is the case, ASP.NET applications will use the proxy settings that are defined in Internet Explorer for all outgoing communication.

  • To disable the proxy server, add <system.net> <defaultProxy enabled="false" /> </system.net> to web.config.
  • To set the proxy server, set the <proxy> setting for <system.net> <defaultProxy/> </system.net> within web.config.

For any issue not covered above, contact GeoBase support, ideally providing WMS Logs and a HTTP inspector session log demonstrating the problem.

Other GeoStream Issues

Other commonly occuring GeoStream issues which do not fit into the categories above:

SymptomsRoot Cause
Sample pages, such as tutorial.simple-map.aspx, display no map frame at all.This can occur if your IIS Server was configured without Static Content serving enabled, meaning no HTML or images can be displayed. This can be checked/enabled via "Turn Windows features on or off" within the Windows Control Panel.
JSON POST requests, such as reverse geocoding or routing requests, either fail to be issued, or do not respond. Errors such as "Failed to load resource: Origin is not allowed by Access-Control-Allow-Origin" can be seen in the Javascript debug console. This is a Cross-Origin Resource Sharing (CORS) issue, and can occur when requests are being made across domains; that is when the JavaScript client is being hosted on http://myAppServer.com and the GeoStream tiles are being served from http://myGeoStreamServer.com. This should be automatically handled by the GeoStream server, but the relevant settings will only be implemented if the ASP.NET Application Pool being used by the GeoStream server is in Integrated, rather than Classic mode. Check your settings in IIS Manager, and restart the GeoStream server.

If your problem is not listed here, contact GeoBase support for further assistance.