FTP pickup

FTP pickup

This consumer is used to read remote files from an FTP server. This consumer can poll for files itself.

Files are read from the remote directory and have to match the filename pattern.

The component copies the files from the remote directory to the local directory, while keeping the file name.

After that, the content of the files from the local directory are sent to the services. In case a backup directory is defined, the files from the local directory are copied, after having been read.

Through the response message type, you can determine if (XML-)files will be read as Document, Text, File or Byte Array.

The consumer’s output is a ConnectMessage, in which the contents of the file are copied to the part “MessagePart”.

The FTP pickup is a client FTP implementation. The consumer can read remote files from an FTP server. This is in no way an FTP server implementation where an FTP Client can send files to.

The FTP Pickup has a dynamic appearance. The selection box FTP Type determines how the form is presented to the user.

As you select sFTP as FTP Type, the following extra fields will be added to the form.

 

In the table below, you will find an explanation of these properties. All attributes with a ‘*’ are mandatory.

Non-existing directories will automatically be created.

There are three FTP types, FTP, SFTP (FTP over SSH) and FTPS (FTP over SSL). The SFTP attributes can only be used for SFTP connections. The other attributes are used for all FTP types.

Attribute

Description

Name*

By default, we fill this out with the technical ‘tag’, followed by a serial number. Changing the name is optional.

Enabled

Set this value to true, if you want this consumer to be enabled.

FTP Type

Specify which type of FTP you want to use. You can choose between FTP, SFTP and FTPS. The default is FTP. 

FTP Host*

FTP server hostname.

FTP Port

FTP server port. The default is 21 for FTP, 22 for SFTP and 989 for FTPS.

FTP User-Name*

FTP server username.

FTP Password

FTP server password.

FTP Mode

FTP server mode, either Active or Passive.

FTP FileType

FTP server File-type, either ASCII, Binary or EBCDIC.

FTP Buffersize

FTP buffer size.

Delete Remote File(s)

Set to TRUE, will remove any downloaded files from the server. The default value is false.

File Name Pattern

File-name pattern to match files on FTP server. You can also use a regex expression here.

Remote Directory

Remote directory path on FTP server.

Remote Directory From Header

This header specifies the remote directory path.

Local Directory

Local working directory. NOTE! Make sure that this directory is not a parent directory of another configured directory. The Local Directory will be formatted, as will any subdirectories. The default is './temp/ftp'.

Remote Path Separator

Specify path separator character. The default is '/'.

Backup Directory

Path to the directory where the back-ups of the removed files from the FTP server are archived. 

MessagePart Name

Name of the MessagePart in a ConnectMessage where the content of the file is being stored.

Response Message Type

This is the type of the MessagePart, in which the contents of the file will be stored. With this, XML documents can be read directly as DOM objects or serialized objects.

Possible entries are TEXT, DOCUMENT, FILE and BYTE_ARRAY. MessageType=”FILE” and MessagePart=”ALL” will read a serialized ConnectMessage. By default, TEXT is used.

Max Messages Per Poll

Number of messages being handled per poll, i.e. if max-messages-per-poll is set to 5 and the timer to every 10 seconds a maximum of 5 messages every 10 seconds is handled.


If set to -1 all messages available are handled per timer interval.
If set to 0 only 1 message is handled per timer interval.

Quartz Cron Expression

Definition of the interval this polling consumer will check for messages. Cron format */30 * * * * * (sec) (min) (hour) (day) (month) (year). The default is 30 seconds.

Encoding

Used to specify desired encoding strategy for inbound files. The default is UTF-8.

 

Only if you have sFTP selected as your FTP Type.

SFTP Private-Key

Specify location of SFTP private key file. Must a URL form using file: , http: or classpath: prefix.

SFTP Private-Key Pass-Phrase

Passphrase for SFTP private key file.

SFTP Server Alive Countmax

SFTP server alive countmax, which is the maximum amount of messages sent before being disconnected.

SFTP Server Alive Interval

SFTP server alive interval in milliseconds between 2 server alive messages.

SFTP Socket Time-out

SFTP socket time-out. The default value is ‘0’, which means there’s no time-out.

   

Description

Description of the specific consumer. This is for documentation purposes.

 

Authentication

The (S)FTP(S) consumers use some form of authentication to connect to the server. By default a Username and Password need to be provided and are used in configuration to connect to a server. To connect to a server using Username and Password, please fill in the information in the Username and Password fields. For SFTP connections Private Key files are also supported. If you want to use a private key file to connect to a SFTP server, please specify this Private Key file and leave the Password field blank. This will connect to SFTP using the specified Private Key file. If both Private Key and Password fields are blank, this will result in an exception.

SFTP Private Keys

In order to use private keys for SFTP connections, please make sure you have a readable Base64 encoded Private Key file ready for use. You can upload your Private Key file to your Interface, by adding it to your Resources. From here you can drag and drop the Private Key file into the Private Key file configuration field. You can also configure a Private Key file manually from a filesystem. You can specify the location of the Private Key file by providing the URL to the required file using either file:[path/to/file] for local filesystems.

Key exchange algorithms

Using SSL you can run into certain key exchange issues. Some of the algorithms are no longer supported in your Java version, or the provider has another default installed. Changes in the security layer happen a lot these days. With the SFTP Key Exchange field, you can force the application to use a certain key exchange algorithm.

For more information about Key Exchange Algorithms, follow this link.

You can modify the used SSH Ciphers, MAC and key exhange by overriding the default settings using a Java System property: sftpKeyExchange. This system property can be set using the -DsftpKeyExchange=[yourciphers] in the ConnectPlaza Agent's wrapper.conf. You can add this property using the wrapper.conf's file format, i.e.,

wrapper.java.additional.X = -DsftpKeyExchange=[yourciphers]

And add this to the [connectplaza-agent-root]/yajsw/conf/wrapper.conf file.

FTPS with implicit encryption

As of version 3.5.0, if you choose implicit FTPS you can set the field Implicit TLS to true. This field will appear only if you choose FTPS. The other field is Session Reuse, this field tells you if you want to reuse the TLS session of this FTPS session.

 

Attribute Descrioption
Session Reuse This indicates the reuse of the TLS session when connecting over FTPS.
Implicit TLS Enable implicit FTPS TLS.

 

Memory usages and Java Heap Space errors

When requesting files from a server, keep track of the size of these files. When transfering filles you need approximately 10 times the amount of memory available to the ConnectAgent. If you do not have this amount of memory available, you will get a Java Heap Space Error.