SFTP Smart Services

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:
    • Remove Directory Over SFTP (Basic Credentials)
    • Send File Over SFTP
    • Send File Over SFTP (Basic Credentials)
    • Receive File Over SFTP
    • Receive File Over SFTP (Basic Credentials)
    • Rename File Over SFTP
    • Get Remote Directory Contents Over SFTP
    • Get Remote Directory Contents Over SFTP (Basic Credentials)
    • Create Directory Over SFTP
    • Create Directory Over SFTP (Basic Credentials)
  • SCP:
    • Send File Over SCP
    • Receive File Over SCP
  • FTP:
    • Send File Over FTP
    • Receive File Over FTP
    • Receive Folder Over FTP
  • FTPS
    • Receive Folder Over FTPS
    • Send File Over FTPS (Basic Credentials)

All smart services in the package use Secure Credentials Store.

Anonymous
  • v2.2.1 Release Notes
    • Support For Passive FTP Connections in Send File Over FTP Smart Service
    • Added the following parameters EnterLocalActiveMode and BinaryFileType in Send File
    • Over FTP Smart Service
    1. EnterLocalActiveMode - True Indicates FTP Connection in Active Mode , False indicates Passive Mode.Default Value is False.
    2. BinaryFileType - False indicates Ascii mode ftp file transfer , True indicates Binary Mode File Transfer
    3. Added the output parameters Error and Status in following smart services to denote the status of the smart service file operation performed.
  • Hi Team, 

     We  received an error while receiving file over SFTP, It is mentioned as Auth fail, though we are using correct credentials for connecting the SFTP, The files were not moving inside, Later we resumed the process instance, it worked. the process will run via MNI node. Can you please help with this issue?

  • HI, baghavathit0001,

    We will try to reproduce the issue and update asap.Can you help us with the log files on the occurrence of this issue

  • Hi ,

    We tried the receive file over SFTP Smart service in an MNI Node with username/password configuration,we were able to successfully receive the files in Appian. Please Check on the infrastructure side for any issues .If issue still exists please share us with a sandbox sftp environment to reproduce the issue.


  • Hi,

    What all possible values are being returned by output parameters 'Error' and 'Status'?
    I found datatype for both these parameters is TEXT. So it will be helpful if you can enlist all possible values returned by these 2 output parameters.

    Thank you!

  • Hi Team,

    Recently upgraded version of this plug-in from 1.6.2 to 2.2.1
    I noticed the existing '
    Send File Over SFTP' node started failing after upgrading the version to 2.2.1. Would I need to replace this node with a new node having output parameters?
    Or would deprecated nodes continue to work fine with the 2.2.1 version?

    Thank you!

  • Hi Arpit,

    We have made some additional enhancements and features after 1.6.2. Therefore the older nodes have been deprecated in previous versions themselves.Please upgrade the nodes to a newer version

  • The status will have either - FAILED, SUCCESS

    Error-Will have value only if some exceptions  occur in code, will have the corresponding exception message as text

  • Hi, raghulvishnud,

    Please find the attached log file.

    2021-08-05 03:05:09,229 [Appian Work Item - 6434 - execution01 : UnattendedJavaActivityRequest] ERROR com.appian.ps.plugins.sftpsmartservices.ReceiveFileOverSFTP - Error connecting to SFTP server
    com.jcraft.jsch.JSchException: Auth fail
            at com.jcraft.jsch.Session.connect(Session.java:519)
            at com.jcraft.jsch.Session.connect(Session.java:183)
            at com.appian.ps.plugins.sftpsmartservices.SFTPConfig.connect(SFTPConfig.java:177)
            at com.appian.ps.plugins.sftpsmartservices.ReceiveFileOverSFTP.run(ReceiveFileOverSFTP.java:69)
            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-08-05 03:05:09,230 [Appian Work Item - 6434 - execution01 : UnattendedJavaActivityRequest] ERROR com.appiancorp.process.engine.UnattendedJavaActivityRequest - An error occurred while executing activity: id=268437187, classname=com.appian.ps.plugins.sftpsmartservices.ReceiveFileOverSFTP
    com.appiancorp.suiteapi.process.exceptions.SmartServiceException: userMsg[error.sftp_conn=Error establishing SFTP connection. Confirm your hostname, username and password. See application server log for more details. Error Message: Auth fail]
    at com.appiancorp.suiteapi.process.exceptions.SmartServiceException$Builder.build(SmartServiceException.java:145)
            at com.appian.ps.plugins.sftpsmartservices.ReceiveFileOverSFTP.createException(ReceiveFileOverSFTP.java:209)
            at com.appian.ps.plugins.sftpsmartservices.ReceiveFileOverSFTP.run(ReceiveFileOverSFTP.java:72)
            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)
    Caused by: com.jcraft.jsch.JSchException: Auth fail
            at com.jcraft.jsch.Session.connect(Session.java:519)
            at com.jcraft.jsch.Session.connect(Session.java:183)
            at com.appian.ps.plugins.sftpsmartservices.SFTPConfig.connect(SFTPConfig.java:177)
            at com.appian.ps.plugins.sftpsmartservices.ReceiveFileOverSFTP.run(ReceiveFileOverSFTP.java:69)
            ... 19 more
    

  • Hi Team, I'm getting the following error, when we try to receive files from SFTP, is there any issue with the plugin? 

    2021-08-27 15:00:04,219 [Appian Work Item - 16547 - execution01 : UnattendedJavaActivityRequest] ERROR com.appian.ps.plugins.sftpsmartservices.GetRemoteDirectoryContentsOverSFTP - Error connecting to SFTP server
    com.jcraft.jsch.JSchException: SSH_MSG_DISCONNECT: 11 Too many bad authentication attempts! 
    	at com.jcraft.jsch.Session.read(Session.java:1004)
    	at com.jcraft.jsch.UserAuthPassword.start(UserAuthPassword.java:91)
    	at com.jcraft.jsch.Session.connect(Session.java:470)
    	at com.jcraft.jsch.Session.connect(Session.java:183)
    	at com.appian.ps.plugins.sftpsmartservices.SFTPConfig.connect(SFTPConfig.java:177)