Data Download Link Returning 404 Error

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

  • FME 2015.x

Symptom

When clicking on the data download URL, a 404 error is returned as the zip file cannot be found on the server.

Cause

A request is made to the web server for the zip file to be returned by the data download service and the request does not match the location of the zip file. There are several things which can cause this to happen:

  1. The URL being returned by the data download service does not match where the zip file resides on the web server.
  2. If a separate web server and servlet container are being used (i.e. IIS and Tomcat, or Apache and Tomcat), the filter in the connector may be incorrect which causes the request to be forwarded to the servlet container to deal with - even though the zip file is on the web server.

Resolution

1. The URL being returned by the data download service does not match where the zip file resides on the web server.

You need to ensure that the zip file is being placed in the public directory of the web server. You can check where the actual data download results are being placed by opening the fmeEngineConfig file:

<FME Server Install Dir>\Server\fmeEngineConfig.txt

Look for the "engineresults" location, e.g.

FME_WORKING_DIR "!FME_SERVER_ROOT!/resources/system/temp/engineresults"

This should be pointing to the public directory of the web server. If you are using IIS and Tomcat, it would be pointing to the "C:\Inetpub\wwwroot" directory.

2. If a separate web server and servlet container are being used (i.e. IIS and Tomcat, or Apache and Tomcat), the filter in the connector may be incorrect which causes the request to be forwarded to the servlet container to deal with it even though the zip file is on the web server.

When configuring the servlet engine to work with the web server, you need to place a file on the servlet container that defines which requests are handled by the web server and which requests are handled by the servlet container.

The file responsible for this varies depending upon the servlet container. In the case of Tomcat, the file is located at "<Tomcat Installed Dir>\conf\uriworkermap.properties". You need to ensure that the filters setup here don't cause the request for the zip file to be forwarded to the servlet engine. For example, by default the results folder is called engineresults. Therefore, if you have a filter setup similar to "/engineresults*/*=wlb /engineresults*=wlb", the zip file will fail to be found as it resides on IIS but this tells IIS to forward the request to Tomcat. This workaround varies depending upon the web server/servlet container in use, but you need to either rename the engineresults folder or change the filter settings.

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.