Symptom
When running or scheduling a report and having Remote File as Report Destination, the job fails. The error below is shown in the Background Jobs tool:
Errors: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor661.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.plateau.common.core.api.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:323)
at com.plateau.common.jobscheduling.impl.simple.SimpleJobRunnable.invokeJobTearDownHandlers(SimpleJobRunnable.java:284)
at com.plateau.common.jobscheduling.impl.simple.SimpleJobRunnable.tearDown(SimpleJobRunnable.java:236)
at com.plateau.foundation.jobscheduling.TenantAwareJobRunnable.tearDown(TenantAwareJobRunnable.java:69)
at com.plateau.common.jobscheduling.impl.simple.SimpleJobRunnable.run(SimpleJobRunnable.java:150)
at com.plateau.foundation.jobscheduling.TenantAwareJobRunnable.run(TenantAwareJobRunnable.java)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:807)
Caused by: org.apache.commons.vfs2.FileSystemException: Could not connect to SFTP server at "[SFTP URL]".
at org.apache.commons.vfs2.provider.sftp.SftpFileProvider.doCreateFileSystem(SftpFileProvider.java:107)
at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.getFileSystem(AbstractOriginatingFileProvider.java:103)
at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:81)
at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:65)
at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:693)
at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:621)
at com.plateausystems.elms.framework.report.impl.ReportFTPProducerImpl.sftpReport(ReportFTPProducerImpl.java:207)
at com.plateausystems.elms.framework.report.impl.ReportFTPProducerImpl.uploadReport(ReportFTPProducerImpl.java:99)
at com.plateausystems.elms.client.struts.report.ReportHelper.uploadReport(ReportHelper.java:1694)
at com.plateausystems.elms.framework.report.impl.ReportBackgroundJob.sendReportToRemoteDestination(ReportBackgroundJob.java:780)
... 12 more
Caused by: org.apache.commons.vfs2.FileSystemException: Could not connect to SFTP server at "[SFTP URL]".
at org.apache.commons.vfs2.provider.sftp.SftpClientFactory.createConnection(SftpClientFactory.java:230)
at org.apache.commons.vfs2.provider.sftp.SftpFileProvider.doCreateFileSystem(SftpFileProvider.java:96)
... 21 more
Caused by: java.lang.NullPointerException: while trying to get the length of a null array loaded from local variable 'value'
at java.lang.String.(String.java:197)
at org.apache.commons.vfs2.provider.sftp.SftpClientFactory.createConnection(SftpClientFactory.java:139)
... 22 more
Environment
SAP SuccessFactors Learning
Reproducing the Issue
- Go to Reports.
- Select a report
- Run/Schedule the report and select Remote File as the Report Destination.
Resolution
If using the supplied SAP SuccessFactors SFTP information:
- Navigate to System Administration > Configuration > System Configuration > Edit the REPORT_SYSTEM configuration file
- Validate that the configurations below. Example:
- remoteFtpEnabled=true
- defaultReportFtpConfig.protocol=sftp
- defaultReportFtpConfig.server=sftp8.sapsf.com
- defaultReportFtpConfig.port=22
- defaultReportFtpConfig.path=/FEED
- defaultReportFtpConfig.userID=[SFTP Username]
- defaultReportFtpConfig.password=[Password]
- defaultReportFtpConfig.timeout=60000
- defaultReportFtpConfig.enablePassiveMode=false
- If specific reports have been configured validate the information in the reportFtpConfig.ReportName are correct
- The [ReportName] section has to be exactly as the name of the report seen in the export screen
- To get the [ReportName], go to Reports > Find the Report > Click the Export button > Copy the name from the new screen
If using an external SFTP that was not provided by SAP SuccessFactors:
The above should be vetted. If the issue still occurs, SAP SuccessFactors can place the IP address on an ACL exception entry to be allowed network communication to external sftp server by engaging Operations.
Keywords
report, fails, error, remote, file, could not connect to SFTP server, lms, sf, failure, ftp, job, ip, whitelist, allowlist , KBA , LOD-SF-LMS-REP , Reporting Data , Problem