FTP Server Connector

Version 21.0.8126


FTP Server Connector


FTP Server Connectors provide connection credentials to access the fully-featured ArcESB FTP Server.

Overview

The ArcESB FTP Server is primarily configured under the Profile page of the web UI. Individual FTP Server Connectors provide a unique client profile to authenticate to the FTP Server. The client profile consists of a Username (which is the same as the FTP Server Connector’s ConnectorID), a Password, a set of Send and Receive directories, and permissions to read/write files in these directories.

FTP clients are not given permissions to the root of the FTP Server, meaning that FTP clients should always cd into the ‘Send’ (to download) and ‘Receive’ (to upload) directories after connecting.

Profile Settings

The FTP Server Profile must be configured before connections can be established with individual FTP Server Connectors. Open the FTP Server tab on the Profiles page.

Server Configuration

Server implementation settings.

  • Port The port on which the FTP Server will listen for incoming connections.
  • FTP Over TLS How SSL/TLS should be negotiated when clients connect to the server. When set to Explicit, a plaintext connection should be established first and then SSL/TLS should be started with an explicit command. When set to Implicit, SSL/TLS should be negotiated immediately without first establishing a plaintext connection.
  • Server TLS Certificate The TLS certificate that identifies the server. Only required if the server is operating as an FTPS server (SSL/TLS is enabled).
  • Certificate Password The password required to access the Server TLS Certificate.
  • Welcome Message The banner to be presented to FTP clients when connecting to the server.
  • Root Directory The root directory for the server. Subfolders will be created within the root for individual client profiles (i.e. for each configured FTP Server Connector). Each client profile includes a Send Folder, where clients can download files from the server, and a Receive Folder, where clients can upload files to the server.
  • Allowed Files Filter A glob pattern that determines which files will be accepted by the FTP server. Multiple patterns can be specified in a comma-delimited list (e.g. *.x12,*.edi), and negative patterns can be specified to exclude certain file patterns (e.g. -*.txt).

Other Settings

Settings that do not fall into the previous categories.

  • Active Mode Toggles FTP Active Mode support for the server.
  • Inactivity Timeout The length of time (in seconds) that must pass without activity for a user to time out.
  • Passive Port Range When using Passive mode, the application uses any available port to listen for incoming data connections. This can be overridden by setting this field to a port range in ‘start-end’ format, for example: ‘1024-‘ refers to anything higher than 1024 (inclusive) and ‘1024-2048’ refers to connectors between 1024 and 2048 (inclusive).
  • Passive Address When using Passive mode, the applications returns the IP address for the local interface. This can be overridden by setting this field to the desired public IP address.
  • TLS Enabled Protocols A checkbox list of TLS protocols supported by the server.

Logging

Settings related to server logging.

  • Log Level The verbosity of logs generated by the connection. When requesting support, it is recommended to set this value to Debug.
  • Log Rotate Interval The number of days that the server should use a log file before a new file is started.
  • Log Delete Interval The number of days that the server should retain a log file before deleting it.

Miscellaneous

Settings for specific use cases.

  • Other Settings Allows configuration of hidden connector settings in a semicolon-separated list, like setting1=value1;setting2=value2. Normal connector use cases and functionality should not require use of these settings.

Connector Settings

After the FTP Server Profile has been configured, FTP Server Connectors can be created in the Flows page and configured for a specific trading partner.

Settings Tab

Configuration

  • Connector Id The static name of the connector. All connector-specific files are held in a folder by the same name within the Data Directory.
  • Connector Description An optional field to provide free-form description of the connector and its role in the flow.

User Configuration

Credentials for authenticating to the local FTP server.

  • User The username credential for logging in to the local FTP server. This value is always the same as the connector’s ID.
  • Password The password credential associated with the User.

Permissions

Settings related to the read/write permissions the configured client has for the Send and Receive folders.

  • Send Directory Permissions Toggles read/write permissions for the Send directory. This directory is where files are downloaded.
  • Receive Directory Permissions Toggles read/write permissions for the Receive directory. This directory is where files are uploaded.

Advanced Tab

Local Folders

Settings related to the folders where clients will upload and download files.

  • Send Folder Files placed in the Send folder are available to be downloaded by clients.
  • Receive Folder Files uploaded by the client should be placed in the Receive folder. Files will remain in the Receive folder or be passed along to the next connected connector in the flow.

Other Settings

Settings not included in the previous categories.

  • Allowed Files Filter A glob pattern that determines what files can be uploaded to directories for this user. Overrides the setting of the same name in the SFTP Profile page when specifying filters per-user is required. Multiple patterns can be specified in a comma-delimited list (e.g. *.x12,*.edi), and negative patterns can be specified to exclude certain file patterns (e.g. -*.txt).
  • Move File After Send Specifies whether files in the Send folder should be moved to the Sent folder after they are downloaded by the client.
  • Temp Receive Extensions Files with a matching extension are not recorded in the Receive table and do not fire the After Receive event until after they are renamed. Specified as a comma-delimited list of extensions.
  • Timeout The duration the server will wait for a connection response before throwing a timeout error.

Message

Settings that determine how the connector will search for messages and handle them after processing.

  • Save to Sent Folder A toggle that instructs the connector to keep a copy of sent messages in the Sent folder.
  • Sent Folder Scheme Instructs the connector to group files in the Sent folder according to the selected interval. For example, the Weekly option instructs the connector to create a new subfolder each week and store all sent files for the week in that folder. The blank setting tells the connector to save all files directly in the Sent folder. For connectors that process many transactions, using subfolders can help keep files organized and improve performance.

Logging

Settings that govern the creation and storage of logs.

  • Log Level Specifies the type of information to log in the connector’s Logs directory:
    None — Does not create any logs.
    Error — Creates logs only when the connector encounters an error.
    Warning — Creates logs only when the connector issues a warning.
    Info — Logs general information about the workflow, including any errors and warnings (if applicable).
    Debug — Logs detailed debugging information for both successful and failed workflows.
    Trace — Logs detailed trace information for both successful and failed workflows.
  • Log Subfolder Scheme Instructs the connector to group files in the Logs folder according to the selected interval. For example, the Weekly option instructs the connector to create a new subfolder each week and store all logs for the week in that folder. The blank setting tells the connector to save all logs directly in the Logs folder. For connectors that process many transactions, using subfolders can help keep logs organized and improve performance.
  • Log Messages A toggle that instructs the connector to save a copy of the most recent message in the Logs directory. Note that the connector only keeps one message per subfolder, and the connector overrides the previously-saved message when it runs again.

Miscellaneous

Settings for specific use cases.

  • Other Settings Allows configuration of hidden connector settings in a semicolon-separated list, like setting1=value1;setting2=value2. Normal connector use cases and functionality should not require use of these settings.

Establishing a Connection

Each configured FTP Server Connector represents a single trading partner’s connection parameters. The trading partner should connect to the FTP server using the server settings from the Profile page (port, SSL mode, etc) and the authentication settings in the dedicated FTP Server Connector (User, Password).

Each trading partner has a separate pair of Send and Receive directories that are subfolders of the root. The partner should download files from the Send folder and upload files to the Receive folder. The client is not permitted to upload or download files from the root.

Common Errors

ERROR:

“Could not bind server socket: Permission denied.”

Cause

This error can appear when attempting to connect to an FTP server and the process hosting ArcESB does not have sufficient privileges to establish a listener on the specified port. Note that in some cases (such as linux environments and hosted instances running in an Amazon AMI), ports below 1024 are forbidden from access.

Resolution

Choose a different port or change the identity of the process hosting ArcESB to one with permissions to bind to the port. When using the hosted instance of ArcESB in an Amazon AMI, it is recommended that you bind to a port above the restricted range (for example, 8021 for FTP traffic) and use iptables to route incoming request on the desired port to the allowed port:

iptables -t nat -I PREROUTING -p tcp --dport 21 -j REDIRECT --to-port 8021