Skip to main content
Version: 4.2.5

FTP(S) reader

Polls an FTP directory for files matching specified criteria. When a matching file is found on the server, it is downloaded either to a file or to memory.

note

An FTP(S) reader may function as an entry point or as an activity in an Adapterflow. Note that the two alternatives are suitable for different user scenarios and also have slightly different parameters.
To view FTP(S) reader as an ordinary activity, see FTP(S) reader as activity

Impact on Adapterflow data stream: Yes.
The content of the found file is written to the data stream. Previous data in the data stream is overwritten.

Remarks

General

Note that directory paths on server side may be case sensitive. 

User scenarios

ScenarioRecommended procedure
Fetching specific filesUse an Event listener as entry point, and add FTP(S) reader as an activity. Optional: supply the Event listener with parameters describing the file which should be fetched. Each time the Event is activated, 1 file will be fetched (if found).
Short poll interval / always onUse FTP(S) reader as entry point. FTP(s) reader will poll for files and restart after a file has been found.
Batch fetch, long poll interval (every hour / once a day)Use a Script or Workflow instead of an Adapterflow if you need to fetch batches of files from a directory or FTP server at a certain time or with a certain poll interval. Since Adapterflows are non-iterable, they are not suitable for this purpose.

FTP(S) reader as entrypoint

In parameters

Activity 

NameTypeDescription
DescriptionStringValueDescription of the activity.
NameStringValueName of the activity. The name has to be unique in the Workflow. The name is used as identifier of the activity in activity binding.

Client side

NameTypeDescription
Delete local fileBoolValueSpecifies whether the found file is to be deleted after the activity is finished. True means file will be deleted (default).
Save to discBoolValueSpecifies whether the found file is to be saved to directory specified in Local directory. True means files will be saved. Default: False.
If set to True but Local directory is not specified, files will be saved in a temporary directory for large files.
Local directoryActivityComplexValue of DirectoryPathValueDirectory where found file will be downloaded.
Bindable.
Local file nameActivityComplexValue of FilePathValueName that the downloaded file will get. If left empty, the file will keep its original name.
Bindable.

Connection

NameTypeDescription
ServerActivityComplexValue of StringValueName or IP address of server to connect to.
Bindable.
PortIntegerValuePort to be used for connection. Default: 21
Bindable.
UserStringValueUser name to be used to log on to the account on the FTP server.
Bindable.
PasswordPasswordValuePassword to be used to log on to the account on the FTP server.
Bindable.

Connection - advanced

NameTypeDescription
Passive FTP modeBoolValueSpecifies whether passive FTP mode is to be used. True means it will be used (Default).
Bindable.
Connection timeoutIntegerValueA connection time period (in milliseconds) that applies to:
  • Socket timeout. How long the client will try to establish socket connection to server.
  • Listen timeout. How long the listening socket will be open in active mode.
  • Transfer timeout. How long the client is to wait for data connection from remote side to be accepted.
Default: 60000
Bindable.
List methodFtpListMethodType
List entry formatListEntryFormatSpecifies interpretation of list entries received from server.
Bindable.
Server directory separatorStringValueCharacter used by server to separate directories. Default: /
Bindable.
RetriesIntegerValueNumber of times the activity will retry to issue a failed command before an error occurs. Default: 0
Bindable.
Time between retriesIntegerValueTime in seconds to wait between each retry. Default: 0
Bindable.
TraceBoolValueEnables/disables tracing of sent and received FTP commands to a file. True means tracing is enabled. Default: False
Bindable.
Trace fileActivityComplexValue of FilePathValueThe file where traced commands are to be saved.
Bindable.
Ignore error codesStringValueSpecifies error codes (not specified by the FTP protocol) that may be returned from the FTP server when listing files and there are no files to return. The specified error codes will be ignored when returned. Fill in codes to be ignored as comma separated list.
Example: 500, 503, 550
Bindable.
List is case sensitiveBoolValueSpecifies whether file lists are handled as case sensitive. True means lists will be case sensitive.
Bindable.
Remote code pageCodePageIDValueSpecifies the code page/charset to be used by the remote server. If not specified, 20127 (US-ASCII) is used.
Bindable.
Buffer sizeIntegerValueSpecifies the buffer size when retrieving data from the server. The value is specified in bytes. Default: 262144
Bindable.
Account info (ACCT)StringValueSpecifies account info to be sent using ACCT command.
Bindable.
Speed limitIntegertValueSpecifies the maximum number of bytes per second that can be received from the server. A value of 0 (zero) means unlimited. Default: 0
Bindable.
Use IPv6BoolValueSpecifies if IPv6 should be used to communicate with the server. Default: False
Bindable.
Use FEATBoolValueSpecifies if FEAT Command should be used for determining which features are implemented by the server. Default: True
Bindable.
Virtual host nameStringValueSpecifies the name of the host to send using the HOST command.
Bindable.

Connection - SSL

NameTypeDescription
Encrypt data channelBoolValueSpecifies whether encryption of data channel is to be enabled. True means encryption is enabled. Default: False.
Bindable.
Use SSLBoolValueSpecifies whether SSL is to be enabled. True means SSL is enabled. Default: False
Bindable.
Auth commandFTPSAuthCmdAuthorization command to be sent to server to request an explicit SSL session. Options are:
  • Auto (default)
  • TLS
  • SSL
  • TLSC
  • TLSP

Bindable.
VersionsSSLTLSVersionsValueSSL/TLS version to be used. More than one option can be selected. Default is TLS 1.3, TLS 1.2. For more information, see General information about SSL and TLS.
Bindable.
SSL modeSSLModeSpecifies whether explicit or implicit SSL mode is to be used. Default: Implicit
Bindable.
CertificateCertificateValueThe client certificate that the server may request. Use browser button to select certificate.
To list all available stores, you may need to start the Adapterflow Wizard with elevated privileges. When the Adapterflow is executed, the service must have the appropriate privileges to access the certificate. For more information, see Troubleshooting.
Bindable.
Use SSL Session ResumptionBoolValueSpecifies if SSL Session Resumption should be used. Default: False
Bindable.

Connection - SSL Certificate validation

NameTypeDescription
Trusted storageCertStoreValueThe certificate storage containing trusted certificates for validation of server certificate, located in Windows system certificate storages. Use browser to select trusted storage.
Bindable.
Host roleFTPSHostRoleThe role of the remote host. The Host role is validated when the remote host sends its certificate to the client for validation. Options are:
  • None (default)
  • Client
  • Server
  • Both
Bindable.
EnableBoolValueEnables/disables validation of remote servers certificate. Disabling validation implies that all received certificates will be accepted without any validation. Default: True
Bindable.
OptionsServerCertificateValidationOptionsValueSpecifies the validation errors to be ignored. Options are:
  • Ignore date. Accept certificate that is not yet valid or expired.
  • Ignore CA. Accept certificate if Certificate Authority Root is not known.
  • Ignore signature. Accept certificate if signature cannot be verified.
  • Ignore name. Accept certificate if name (CN) does not match the host name.
  • Accept self signed. Accept certificate if self signed.
Bindable.
Use system storagesBoolValueSpecifies whether Windows system storages will be used during validation. If set to True, Windows system stores will be used when searching for CA and root certificates and when checking if certificate is trusted of blocked. If set to False, you have to specify a trusted store through the Trusted storage property. It is possible to specify an additional trusted store besides the stores in the Windows system storages that are considered trusted. Note that it is likely that validation will be slower when using system stores. Default: True
Bindable.

Server side

NameTypeDescription
Rename fileBoolValueSpecifies whether file from server is to be renamed before it is downloaded. True means file is to be renamed. Default: False
Move file to directoryActivityComplexValue of DirectoryPathValueDirectory where the file is to be moved before it is downloaded.
Note: The directory path may be case sensitive.
Bindable.
Delete server fileBoolValueSpecifies whether file is to be deleted on server after the activity has been successfully completed. True means file is to be deleted (default).

Standard

NameTypeDescription
Server directoryActivityComplexValue of FTPSDirectoryPathValuePath to server directory to be scanned, for example /ScanDir.
Note: The directory path may be case sensitive.
Bindable.
Server filterActivityComplexValue of StringValueFilter applied on NLST command to server, for example *.* or *.xml
Note: The filter may be case sensitive.
Bindable.
Client filterActivityComplexValue of RegExpStringValueRegular expression applied as filter on files returned by server (case insensitive), for example \b[a-z0-9]+.txt
Bindable.
Scan intervalIntegerValueTime interval in seconds between file searches. Default: 30
Note: The Scan interval value must be greater than the Settle time value. If both properties have fixed values, this is validated during design time. If one or both values are set via activity binding or code expressions, there is no validation at design time. The values are then validated at runtime. If Scan interval is less than Settle time at runtime, the Scan interval value will be changed to Settle time value + 1 second and a warning will be logged.
Bindable.
Settle timeIntegerValueThe time in milliseconds that a file must have been untouched by any events before it can be processed. Default: 0
Note: See note for Scan interval above.
Bindable
Transfer typeFtpTransferModeSpecifies how data is to be transferred. The options are:
  • ASCII
  • Binary (default)
Bindable.
New event on each runBoolValueSpecifies whether to create a new event each time the Adapterflow is triggered.
Bindable.

Out parameters 

Standard

NameTypeDescription
Local filepath OutFilePathValueThe full path to the file on the client.
Local filename OutFilePathValueThe name of the file on the client (no directory path).
Processing filepath OutFilePathValueThe full path and name of the file on the server after it was renamed and/or moved.
Processing filename OutFilePathValueThe name of the file on the server after it was renamed and/or moved (no directory path).
Original filepath OutFilePathValueThe full path and name of the file on the server before it was renamed and/or moved.
Original filename OutFilePathValueThe name of the file on the server before it was renamed and/or moved (no directory path).
Init parameters OutStringThe init parameters received from the creator of the event.
Run parameters OutStringThe run parameters received from the creator of the event.
Event parameters OutStringValueEvent parameters received from the creator of the event.
Event Node ID OutInt32Node id received from the creator of the event.

FTP(S) reader as activity

Activity

NameTypeDescription
EnabledBoolValueSpecifies whether the activity is to be enabled or not. Only enabled activities are validated and executed.
DescriptionStringValueDescription of the activity.
NameStringValueName of the activity. The name has to be unique in the workflow. The name is used as identifier of the activity in activity binding.
Error on timeoutBoolValueSpecifies whether to generate an error when timeout occurs.
Bindable.

Client side

NameTypeDescription
Delete fileBoolValueSpecifies whether the found file is to be deleted after the activity is finished. True means file will be deleted (default).
Save to discBoolValueSpecifies whether the found file is to be saved to directory specified in Local directory. True means files will be saved. Default: False
If set to True but Local directory is not specified, files will be saved in a temporary directory for large files.
Local directoryActivityComplexValue of DirectoryPathValueDirectory where found file will be downloaded.
Bindable.
Local file nameActivityComplexValue of FilePathValueName that the downloaded file will get. If left empty, the file will keep its original name.
Bindable.

Connection

NameTypeDescription
ServerActivityComplexValue of StringValueName or IP address of server to connect to.
Bindable.
PortIntegerValuePort to be used for connection. Default: 21
Bindable.
UserStringValueUser name to be used to log on to the account on the FTP server.
Bindable.
PasswordPasswordValuePassword to be used to log on to the account on the FTP server.
Bindable.

Connection - advanced

NameTypeDescription
Passive FTP modeBoolValueSpecifies whether passive FTP mode is to be used. True means it will be used (Default).
Bindable.
Connection timeoutIntegerValueA connection time period (in milliseconds) that applies to:
  • Socket timeout. How long the client will try to establish socket connection to server.
  • Listen timeout. How long the listening socket will be open in active mode.
  • Transfer timeout. How long the client is to wait for data connection from remote side to be accepted.
Default: 60000
Bindable.
List methodFtpListMethodThe list command sent to the server. If the server supports MLSD, this option is recommended. Default: MLSD
Bindable.
List entry formatListEntryFormatSpecifies interpretation of list entries received from server.
Bindable.
Server directory separatorStringValueCharacter used by server to separate directories. Default: /
Bindable.
RetriesIntegerValueNumber of times a command can be issued before an error occurs. Default: 0
Bindable.
Time between retriesIntegerValueTime in seconds to wait between each retry. Default: 0
Bindable.
TraceBoolValueSpecifies whether tracing of sent and received commands to a file is to be enabled. True means tracing is enabled. Default: False
Bindable.
Trace fileActivityComplexValue of FilePathValueThe file where traced commands are to be saved.
Bindable.
Ignore error codesStringValueSpecifies error codes (not specified by the FTP protocol) that may be returned from the FTP server when listing files and there are no files to return. The specified error codes will be ignored when returned. Fill in codes to be ignored as comma separated list.
Example: 500, 503, 550
Bindable
List is case sensitiveBoolValueSpecifies whether file lists are handled as case sensitive. True means lists will be case sensitive.
Bindable.
Remote code pageCodePageIDValueSpecifies the code page/charset to be used by the remote server. If not specified, 20127 (US-ASCII) is used.
Bindable.

Connection - SSL

NameTypeDescription
Encrypt data channelBoolValueSpecifies whether encryption of data channel is to be enabled. True means encryption is enabled. Default: False.
Bindable.
Use SSLBoolValueSpecifies whether SSL  is to be enabled. True means SSL is enabled. Default: False
Bindable.
Auth commandFtpAuthorizationCommandAuthorization command to be sent to server to request an explicit SSL session. Options are:
  • Auto (default)
  • TLS
  • SSL
  • TLSC
  • TLSP
Bindable.
VersionsSSLTLSVersionsValueSSL/TLS version to be used. More than one option can be selected. Default is TLS 1.3, TLS 1.2. For more information, see General information about SSL and TLS.
Bindable.
SSL modeSSLModeSpecifies whether explicit or implicit SSL mode is to be used. Default: Implicit
Bindable.
CertificateCertificateValueThe client certificate that the server may request. Use browser button to select certificate.
To list all available stores, you may need to start the Adapterflow Wizard with elevated privileges. When the Adapterflow is executed, the service must have the appropriate privileges to access the certificate. For more information, see Troubleshooting.
Bindable.

Connection - SSL Certificate validation

NameTypeDescription
Trusted storageCertStoreValueThe certificate storage containing trusted certificates for validation of server certificate, located in Windows system certificate storages. Use browser to select trusted storage.
To list all available stores, you may need to start the Adapterflow Wizard with elevated privileges. When the Adapterflow is executed, the service must have the appropriate privileges to access the certificate. For more information, see Troubleshooting.
Bindable.
Host roleFTPSHostRoleThe role of the remote host. The Host role is validated when the remote host sends its certificate to the client for validation. Options are:
  • None (default)
  • Client
  • Server
  • Both
Bindable.
EnableBoolValueEnables/disables validation of remote servers certificate. Disabling validation implies that all received certificates will be accepted without any validation. Default: True
Bindable.
OptionsServerCertificateValidationOptionsValueSpecifies the validation errors to be ignored. Options are:
  • Ignore date. Accept certificate that is not yet valid or expired.
  • Ignore CA. Accept certificate if Certificate Authority Root is not known.
  • Ignore signature. Accept certificate if signature cannot be verified.
  • Ignore name. Accept certificate if name (CN) does not match the host name.
  • Accept self signed. Accept certificate if self signed.
Bindable.
Use system storagesBoolValueSpecifies whether Windows system storages will be used during validation. If set to True, Windows system stores will be used when searching for CA and root certificates and when checking if certificate is trusted of blocked. If set to False, you have to specify a trusted store through the Trusted storage property. It is possible to specify an additional trusted store besides the stores in the Windows system storages that are considered trusted. Note that it is likely that validation will be slower when using system stores. Default: True
Bindable.

Server side

NameTypeDescription
Delete fileBoolValueSpecifies whether file is to be deleted on server after the activity has been successfully completed. True means file is to be deleted (default).

Standard

NameTypeDescription
Server directoryActivityComplexValue of FTPSDirectoryPathValuePath to server directory to be scanned, for example C:\ScanDir.
Note: The directory path may be case sensitive.
Bindable.
Server filterActivityComplexValue of StringValueFilter applied on NLST command to server,  for example *.* or *.xml
Note: The filter may be case sensitive.
Bindable.
Client filterActivityComplexValue of RegExpStringValueRegular expression applied as filter on files returned by server (case insensitive), for example \\b[a-z0-9]+.txt
Bindable.
Scan intervalIntegerValueTime interval in seconds between file searches. Default: 30
Note: The Scan interval value must be greater than the Settle time value. If both properties have fixed values, this is validated during design time. If one or both values are set via activity binding or code expressions, there is no validation at design time. The values are then validated at runtime. If Scan interval is less than Settle time at runtime, the Scan interval value will be changed to Settle time value + 1 and a warning will be logged
Bindable.
Settle timeIntegerValueThe time in milliseconds that a file must have been untouched by any events before it can be processed. Default: 0
Note: See note for Scan interval above.
Bindable.
Transfer typeFtpTransferModeSpecifies how data is to be transferred. The options are:
  • ASCII
  • Binary (default)
Bindable.
TimeoutTimeSpanTimeout for the operation. Format: HH:MM:SS.
Bindable.

Out parameters

NameTypeDescription
Local filepath OutFilePathValueThe full path to the file on the client.
Local filename OutFilePathValueThe name of the file on the client (no directory path).
Processing filepath OutFilePathValueThe full path and name of the file on the server after it was renamed and/or moved.
Processing filename OutFilePathValueThe name of the file on the server after it was renamed and/or moved (no directory path).
Original filepath OutFilePathValueThe full path and name of the file on the server before it was renamed and/or moved.
Original filename OutFilePathValueThe name of the file on the server before it was renamed and/or moved (no directory path).

See Also

FTP(S) writer