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
  • Hi.

    At the end we have detected the problem, and we think it could be a bug on the plugin.

    The key is in the error "Caused by: com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stream Read"

    The problem is with the java library JSch. it seems that it does not follow the SSH protocol version exchange correctly.

    In the following link you can see more detailed documentation:

    https://support.solarwinds.com/SuccessCenter/s/article/SFTP-connection-not-established-for-legacy-Java-clients?language=en_US

    Is it reasonable to expect an upgrade of the affected client's JSch library to an RFC-compliant version in new releases?

    Thanks in advance.

  • We are using this plugin for all of our SFTP processes.  Within our process model if the SFTP node is not able to connect to the SFTP server we have a timeout node set to 13 minutes.  Once the timeout is hit, we send a notification to the admins and terminate the process model.  Over the weekend we had an issue with as SFTP that was not able to connect, therefore the process model was terminated.  It appears when this happens the SFTP node does not terminate and causes long running nodes and memory issues with the Appian servers, which has cause the fix to be restarting the servers.

    Is there a fix in process to terminate the connection to the SFTP server if the process model is terminated? And/or is there a workaround so that we won't need to restart the servers when we have this issue.  We have this running in our production environment as well.

  • Hey, 

    We are using the "SFTP Smart Services" (v3.0.2) - (SFTP) Send File [Smart Service] and I believe that I have set it up correctly, but unfortunately I am getting "Auth cancel" error message. 

    I am not sure where the connection / authentication is failing as it's not obvious from the error log. Previously we were able to make a connection successfully using the old version of the plugin. (now the previous version of this plugin is also failing, so we are updating to the newer version) Also, there has been no change on our infrastructure end. 

    I can also confirm that I am able to make the connection successfully using another "cross-platform FTP application" (FileZilla).

    Below are the setup details for the (SFTP) Send File smart service which I am using:

    Node's Data Inputs:

    File Transfer Configurations: 'type!{plugins.ps.appiancorp.com/.../}FT_Config'(
    serverHostName: "xyz-abc.au",
    serverPort: 22,
    scsExternalSystemKey: "thirdparty-cred-sftp-key",
    usePerUserCredentials: false(),
    privateKeyFile: "private-key-doc"
    )

    Remote File Path: "/home/xyzabc" | Type = Text

    Document to Send: "testDoc" | Type = Document


    NOTE: privateKeyFile parameter is a document.

    Below is the error message on the system logs:

    2023-08-31 00:36:51,263 [Appian Work Item - 7735 - WorkID 624 - execution02 - process 537169099 - model 27606 : UnattendedJavaActivityRequest] ERROR com.appiancorp.ps.plugins.filetransfer.sftp.SendFileOverSFTP - com.jcraft.jsch.JSchException: Auth cancel

    Any help on this issue would be much appreciated!

    Kind regards,
    Ankit

  • Hi,

    We were using "Send File over SFTP(basic credentials) and recently after the Appian version upgrade 23.2, it started giving error "Requested Appian file resource could not be found. See application server log for more details. Error Message: Null Arguments are Invalid" and somehow the file transfer to SFTP server has stopped. We also found that the current plugin has been deprecated after the recent SFTP plugin update 3.0.2, so our concern is that what exactly is the cause of the error being thrown. Also, for its alternative which is the best option and how to configure it correctly for the smooth functionality?

    Thanks in advance.

  • hi Rajsekhar, try following

    1. use Key from third-party credentials instead of name you created.

    2. in third-party credentials, add SFTP plug in under plug in list to allow access. 

  • I am trying to use this plugin to send file over SFTP. I created third-party credentials in admin console and configured the key generated in the plugin but I am getting following error message.

    Required field username does not exist in Secure Credentials Store sftpconnection

    I verified even the plugin logic to understand the issue but no luck. Any one faced this issue?

  • v3.0.2 Release Notes
    • Updated commons-net library. Additional plugin enhancements were also made, please see the SFTP document for the changes.
  • Out of curiosity, how do we utilize the "Remove Directory over sFTP" functionality if we're using the External System Key type setup?

    I'm super confused why "Remove Directory" is only available using basic credentials, while "Remove File" is only available using External System Key - shouldn't they both be availble in both conventions, similar to how the other smart services both have versions in both methods?  What's with the disparity? 

  • This seems like a weird area of feature-incompleteness.  Can you expand on why this feature has been left out?

  • Hi,

    An FYI....

    Using v2.3.0 and just had upgrade to Appian 23.1 then a process model with a node using receive file over SFTP smart service configured as an MNI node failed.

    The node would correctly sftp the first in the batch of files and the MNI creates instances for all the files in the batch, however all but the first instance are not started.

    The issue was resolved by deleting the smart service node from the process model and recreating it using the palette and then reconfiguring.

    All now seems OK