I have been trying to configure the Send File over FTP smart service all day and have not had any success. Not sure what else to try.
Current Process Model is simply create a CSV file and upload it over FTP:
Send File Over FTP configuration:
External System key - avalon
Use Per User Credentials - False
Server Hostname ="avalon.lhtech.com"
Server Port - 21
Remote directory path ="/Vendor_Shipment_Reports/432.csv"
Document to Send - =pv!HydacShipFinal - created in previous step as 432.csv
Enter Local Active Mode - False
Binary File Type - True
I have created my credentials in " Third Party Credentials" as avalon:
Every time I run the process, I get the following error via the log:
2022-11-01 19:11:32,441 [Appian Work Item - 4585 - WorkID 114 - execution02 - process 536871728 - model 684 : UnattendedJavaActivityRequest] ERROR com.appian.ps.plugins.sftpsmartservices.FTPConfig - Login failed 2022-11-01 19:11:32,442 [Appian Work Item - 4585 - WorkID 114 - execution02 - process 536871728 - model 684 : UnattendedJavaActivityRequest] ERROR com.appian.ps.plugins.sftpsmartservices.SendFileOverFTP - Error sending file org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication. at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:324) at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:300) at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:523) at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:648) at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:622) at org.apache.commons.net.ftp.FTP.quit(FTP.java:904) at org.apache.commons.net.ftp.FTPClient.logout(FTPClient.java:1148) at com.appian.ps.plugins.sftpsmartservices.FTPConfig.sendFile(FTPConfig.java:121) at com.appian.ps.plugins.sftpsmartservices.SendFileOverFTP.sendFile(SendFileOverFTP.java:126) at com.appian.ps.plugins.sftpsmartservices.SendFileOverFTP.run(SendFileOverFTP.java:85) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:136) at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:52) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:136) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:130) at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:27) at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:130) 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:143) at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68) at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:129) at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36) at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110) 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:750)
The credentials are the same that I am using in WinSCP and FileZilla. both of those are working just fine for connecting to the FTP site.
I also tried putting a file on to the FTP site by using FileZilla and then configuring Receiving a file via FTP. That also didn't work. The file path shown on FileZilla was the following:
avalon.lhtech.com/Vendor_Shipment_Reports/431.csv
Any ideas?
Discussion posts and replies are publicly visible
From the error message, it is very clear, that the login failed. Is the server FTP or SFTP? Does it use a different port than 21? SFTP is using 22 by default.
Thanks for following up. I was able to get it working finally. It turns our IT department hadn't setup the FTP credentials with the ability to receive files from external sources, only internal. I could do everything fine from my computer on the network, but Appian, hosted from the cloud, was unable to connect.
How did you configure the External system key??? please help me... I'm trying with =a!scsField(externalSystemKey: "",fieldKey: "",usePerUser: false) but i don't know how it works and don't find documentation about it... TY
Just provide the key value as defined in your third party credentials config.
Hello Stefan, Thanks for your answer...
Look, I have this configuration at my Thirsd-Party Credentials:In the Send File Over FTP node at externalSystemKey parameter of the node i have tried the 2 following ways:
Like you told me in your reply, i have passed the key values, the process end correctly with no errors but in the output of the node i have the next error in the process details execution:
is there a permission configuration that i forget?
Thaks for your reply...
Yes there is. As the error message states, you need to allow the plugin to access the credentials in the admin console.