Scheduling Troubleshooting

Revision as of 15:18, 26 January 2024 by Antonio.remedios (talk | contribs) (Scheduler ignores %sendiftrue% parameter)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

General Information

Virus and Malware Scanners

The Scheduling Service will need access to:

  • its configuration files, detailed on this page for file-based repositories or this page for SQL,
  • the FluenceXL Web Edition web services, via HTTP or HTTPS,
  • the SMTP server where emails are to be sent.

Finding the Scheduling Error Log

File-based Repositories

The Scheduling error log can be found in the FluenceXL Web Edition Repository, under the __xlcubed__\__scheduling__ subfolder. For example, if FluenceXL is installed in the standard location, it can be found here:

C:\inetpub\wwwroot\FluenceXLWeb\Repository\__xlcubed__\__scheduling__\error.log

SQL Repositories

Note that if the SQL Repository is being used, then the error log is stored in the database. You can use the Administration application to view it, using the Admin > Logs > Schedule Log menu item.

When the SQL Repository is being used, logs (including errors) for individual schedules are available in the Manage Schedules form in the Excel client. These are viewable for Administrators by right-clicking on the schedule, then choosing Manage... and switching to the Run History tab.

Standard Installation Troubleshooting

The FluenceXL Scheduling Service immediately stops

More information will be logged to the Windows Application Event log. Please use Event Viewer to view the detail then search here for more information.

Some test emails are not received

The FluenceXL Scheduling service may not be started or may not be correctly configured. If it has been started, check the error logs and Windows event viewer for more information.

Users cannot access the Scheduling feature

File permissions should be set on Xml\Security\scheduling.xml file as described in this article. For SQL Repository installations, please see the section below.

Emails contain an incorrect server address when sending links to reports

The Public web address setting needs to be set in the FluenceXLWeb Management Console. You will need to restart the Scheduling service after setting this.

Scheduling with SQL Repository Troubleshooting

In addition to the problems described in the Standard Installation Troubleshooting section, the following problems may occur.

Service cannot start, reporting Cannot open database

The following may be reported in the Windows Application Event log:

Service cannot be started. System.Data.SqlClient.SqlException (0x80131904): Cannot open database "DatabaseName" requested by the login. The login failed. Login failed for user 'UserName'.

The FluenceXL Scheduling service user must be given access to the database. Add the user to the SQL database and map it to the XLCUBED_SCHEDULER role.

Service cannot start, reporting No access to website

The following may be reported in the Windows Application Event log:

Service cannot be started. System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: No access to website

Using the Administration application, open the Admin > System Settings dialog. If the Group membership required for access to FluenceXLWeb field is set, then ensure that the FluenceXL Scheduling service user is a member of that group.

Service cannot start, reporting The EXECUTE permission was denied

The following may be reported in the Windows Application Event log:

Service cannot be started. System.Data.SqlClient.SqlException (0x80131904): The EXECUTE permission was denied on the object 'ap_XL3_LogSchedule', database 'DatabaseName', schema 'dbo'.

The FluenceXL Scheduling service user must be mapped to the XLCUBED_SCHEDULER role in the SQL database.

No reports are sent

This may be caused be several things:

The FluenceXL Scheduling service may not be started or may not be correctly configured.
No SMTP server is correctly configured, or no server has Is Global set to Y
Configure an SMTP server for the Scheduler to use, and set its Is Global column to Y
If in the Administration application, the Scheduling log reports The Scheduling Service has been started successfully correctly but not The configuration files were reloaded.
The FluenceXL Scheduling service cannot access the schedules, possibly due to:
  • incorrect web server address set in the Scheduling configuration
  • incorrect IIS security settings (see Scheduling Installation with the File-based Repository#Authentication Mode for how to configure Basic Authentication)
  • a prerequisite is missing, for example the HTTP Activation Windows component
  • the web server name being in the Internet security zone (open Internet Options as the service user, and put the server URL into the Intranet zone)
  • if using an address different from the server address, insert the BackConnectionHostNames registry key, as detailed below

To test if any of these are the case, either log on to the server or start a browser using the FluenceXL Scheduling service user and browse to the URL listed in the scheduling configuration file. You should be able to browse to the URL with no errors or prompts.

Users cannot access the Scheduling feature

In the Administration application, select the users or groups that should have access and add the Can schedule reports property

Common Error Messages

PDF Problems

The scheduled reports may suffer from problems even when PDF printing works for normal users. Note that Modify permissions on the Temp folder must be set for the Scheduling service user (but should also be set for all normal users). This usually results in this error message:

System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Access is denied

followed by:

System.ComponentModel.Win32Exception: Access is denied
at System.Drawing.Printing.StandardPrintController.OnStartPrint(PrintDocument document, PrintEventArgs e)

SendTimeout too short

If the SendTimeout on the relevant FluenceXL Web Edition webservice is set too low, then an error similar to this one can be reported in the scheduling error log:

System.TimeoutException: The request channel timed out while waiting for a reply after 00:00:58.0399638.

By default, this timeout is set to 1 minute. In order to change this setting, use the Configure FluenceXL Web Edition start menu utility to set the timeout to a larger value. You will need to restart the FluenceXL Scheduling service after making any changes. Please note that this setting is available from version 7.2.37.0.

MessageSecurityException occurs when sending a Scheduled Report

The following exception may be recorded in the scheduling error log or in a failure email:

System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was 'Negotiate,NTLM'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.

This issue can occur from Windows Server 2003 SP1 onwards, as described in this Microsoft Support article. To resolve the issue, the DisableLoopbackCheck registry should be created here:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Value name: DisableLoopbackCheck
Type: DWORD
Value: 1

You should also create a BackConnectionHostNames registry key, which contains the hostname and the FQDN for the website on separate lines:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
Value name: BackConnectionHostNames
Type: Multi-String Value
Value (example):
 xlcubedserver
 xlcubedserver.example.com

You will then need to restart the computer.

You may also need to follow the instructions found in this Microsoft Support article to disable strict name checking.

Alternatively, this exception may be recorded:

System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was '****'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.

If the **** does not contain the authentication scheme that the Scheduling Service uses, then that scheme should be added. For example, if Negotiate:Kerberos is selected, then you may need to switch to Negotiate and NTLM.

Alternatively, this exception may be recorded:

System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was 'Basic realm="localhost"'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.

This alternative error message may by received if the FluenceXLWeb server and the Scheduling service are configured to use different authentication schemes. Please see how to configure FluenceXL Web Edition here, and the Scheduling service here.

CommunicationException occurs when sending a Scheduled Report

The following exception may be recorded in the scheduling error log or in a failure email:

System.ServiceModel.CommunicationException: Error in deserializing body of reply message for operation. CData elements not valid at top level of an XML document.

This error can occur in some configurations when the binding for the web service is set up with . The error may be intermittent.

To fix the problem, edit the web.config file (found in the FluenceXLWeb installation folder, usually at C:\inetpub\wwwroot\FluenceXLWeb) and remove the attribute from the binding.

Scheduler ignores %sendiftrue% parameter

More details on the configuration here: Manage Schedules. In the original workbook, open Parameters > Manage Existing Web Parameters > Clear Values. Clear values will remove any out of sync cell value and will reset the workbook metadata. Re-publish the workbook and resend the scheduled report.

See Also