Symptoms
- The workspace runs fine in FME Workbench.
- When running the workspace using the FME Server WebUI or via any of the services the page returns with the message: Failed to Complete. The message may also say Reason: No output dataset was produced by FME transformation. When using the Data Streaming Service the page returns with an error message from your application server tion. Possible HTTP Errror Status 500
Cause
Three possible causes of this problem:
- FME Server must be run by a user with permissions to write to any directory defined in you workspace. On Windows FME Server is run using a Windows service and by default this user is Local System and will network permissions. You can confirm this is the problem by examining the FME log created when the workspace failed <FMEServer>\logs\<ServiceName>\fme_xx.log. You may say an error where FME could not create on of the destination files or could not write the directory.
- If you have Dataset fannout set on a writer in your workspace FME Server cannot find the results because it has been written to multiple directories.
- The Data Download and Data Streaming Services are designed to work on file based output. If you have more than one writer in your workspace and one of the writers is not a file writer FME Server may not be able to find the result of the non file writer.
Resolution
- If the problem is related to issues writing to a network path, UNC path or mapped drive you must ensure the user running FME Server has permission to write to this path. On Windows go to the Windows services panel and find the FME Server service. Right-click on the service and select the properties. In the Logon tab change the user to a user with write access to the directory your workspace writes to. On Linux or Solaris ensure the user running the startFMEServer.sh script had the appropriate level of permissions.
- If you want to use Dataset Fanout in a workspace for FME Server you must create a parameter for the fanout directory. In the Navigator pane find your writer and expand the Advanced parameters so you can see Fanout Directory. Right click and select Create Parameter and give the parameter the name FME_SERVER_DEST_DIR. You can uncheck Published so this parameter becomes a private parameter. When the workspace is run on FME Server this parameter is replaced by the destination directory for the service and the data can be fanned out and still accessible to the service.
- If you have a writer in your workspace that is not a file based writer you need to make sure the services do not expect output fro this writer. When pubishing your workspace to FME Server on the panel of the publish wizard where you select the Services each service has an Edit button. Click this button to choose the file based writer or writers and unselect any non-file based writer. Data will still be written to the unselected writer but the services will not to expect to receive file output from that writer.