SFTP Functions

Overview

Contains multiple Smart Services for interacting with a remote file server via SFTP, FTP, or SCP.  Using these services, an Appian application can be configured to send and receive files, folders, and metadata in a process.  Features support for zlib compression.

Key Features & Functionality

Smart Services included:

  • SFTP:
    • Send File Over SFTP
    • Receive File Over SFTP
    • Get Remote Folder Contents Over SFTP
    • Create Folder Over SFTP
    • Remove File Over SFTP
    • Receive Files In Folder Over
    • SFTP Rename File Over SFTP
  • SCP:
    • Send File Over SCP
    • Receive File Over SCP
  • FTP:
    • Send File Over FTP
    • Receive File Over FTP
    • Get Remote Folder Contents Over FTP
    • Receive Files In Folder Over FTP
    • Remove File Over FTP
    • Rename File Over FTP
  • FTPS
    • Get Remote Folder Contents Over FTPS
    • Receive File Over FTPS
    • Receive Files In Folder Over FTPS
    • Send File Over FTPS

Functions:

  • getfoldercontentsoverftp
  • getfoldercontentsoverftps
  • getfoldercontentsoversftp
  • All smart services in the package use Secure Credentials Store.
Anonymous
  • Hi ,

    We believe it to be a configuration issue from sftp server/appian server. Please try out the below steps

    1. Check Hostname, Password username private key and the passphrase configured in the third party credentials is correct in the process model

    2. Check if the same file is received using sftp tools like WinSCP.If it works please share the additional configurations if any made in WinSCP to achieve the connection

    3. If still unresolvable share us the sandbox environment to replicate the issue

  • I agree these are deprecated. But would deprecated nodes be continue to work as they used to?

    Or is it mandate to replace all deprecated nodes with new ones?

    (There are more than 100+ instances in our project where we use to connect to SFTP)

  • Thank you.

    After upgrade to 2.2.1 and using new nodes to connect to SFTP I’ve started getting following error: “The system cannot find the path specified”.

    Earlier(before upgrading) it’s been working fine with all same data fed to input parameters of deprecated nodes.

    Any leads, please?

  • The error means the file path configured is either not reachable/user does not have enough permissions to access the remote server location.Please check if you are able to send the file over SFTP from WinSCP and if the issues still persist please share with us the configuration of the node and the server log file

  • Please Let us Know the Smart Services Key you are trying to run.We will let u know whether it has been included in current package

  • SFTP node has been configured correctly as it was with earlier version. It had been working fine.

    Also, being able to file over SFTP via SecureFX.

    Need help urgently please.


  • PFA log file as you requested.

    2021-09-03 12:33:49,943 [Appian Work Item - 18897 - execution02 : UnattendedJavaActivityRequest] ERROR com.appian.ps.plugins.sftpsmartservices.SendFileOverSFTP - Error transferring file to SFTP server 
    2: The system cannot find the path specified. 
    at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2873)
    at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:594)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:540)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:492)
    at com.appian.ps.plugins.sftpsmartservices.SendFileOverSFTP.run(SendFileOverSFTP.java:150)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:131)
    at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:52)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:131)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:125)
    at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:27)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:125)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:21)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
    at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:116)
    at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:123)
    at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:94)
    at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:239)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    2021-09-03 12:37:31,431 [Timer-4] INFO  com.appiancorp.cache.DatabaseAuxiliaryCache - Removing expired entries from db cache: uiState-auxiliary
    2021-09-03 12:38:10,939 [Appian Timer - 1] WARN  com.appiancorp.common.ObjectSynchronizer - 1 services were missing users.
    2021-09-03 12:38:51,209 [Appian Work Item - 18898 - execution02 : UnattendedJavaActivityRequest] ERROR com.appian.ps.plugins.sftpsmartservices.SendFileOverSFTP - Error transferring file to SFTP server
    2: The system cannot find the path specified. 
    at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2873)
    at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:594)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:540)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:492)
    at com.appian.ps.plugins.sftpsmartservices.SendFileOverSFTP.run(SendFileOverSFTP.java:150)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:131)
    at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:52)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:131)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:125)
    at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:27)
    at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:125)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:21)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67)
    at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
    at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:116)
    at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68)
    at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:123)
    at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36)
    at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:94)
    at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:239)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

  • Please share us with our configurations on the node.In case of deprecated instances We have handled the code only after 2.0.0 versions, our plugin keys are SendFileOverSFTPwithSCSUsernameAndPasswordV3 and SendFileOverSFTPwithSCSUsernameAndPasswordV2.If you are referencing any other plugin keys ,for older instances please raise a support ticket with Appian to revert the plugin to the older 1.6.2 version



  • I'm sorry I didn't quite get that. Would you please rephrase?

    This is what current node type is I'm trying to use:
    Send File Over SFTP (com.appiancorp.a2.process.runtime.activities.sftp.SendFileOverSFTPwithSCSUsernameAndPasswordV3)