File Transfer Protocol

In this section:

Reference:

A well-established standard for exchanging files over TCP/IP networks, File Transfer Protocol (FTP) is also designed for use over networks other than TCP/IP and for exchanging files with a broad variety of machines. FTP works in a client-server fashion, where the local client program connects to the remote FTP system. The client initiates commands to receive or send messages, and the server responds.

iWay provides three FTP protocol capabilities. The appropriate protocol is selected for each specific FTP situation:

FTP Listener: The FTP listener is an FTP client. It periodically logs into a designated FTP server and attempts to extract any files in the configured locations. Use this when you are attempting to obtain files from or transfer files to a remote server.

FTPServer: This is a full FTP server through which external clients can store or retrieve file information. Uniquely, the iWay FTPServer can process such requests (and their file content) as messages through its process flows. FTPServer is designed to effectively accomplish EDI mailboxing.

FTPD: A simple version of the FTPServer. This FTP server can perform a subset of the FTP commands and can process 'put' requests through the process flow mechanism.


Top of page

x
File Transfer Protocol Listener Properties

The following table lists and describes the FTP listener properties. For instructions on creating a listener, see Configuring Listeners.

Property

Description

Host Name (required)

FTP host to be accessed to search for the document.

User Name (required)

User ID on the FTP host.

Password (required)

User password on the FTP host.

Account Name

Name of the account on the FTP server. Optional, depending on the FTP server.

Input Path

Directory on the FTP host from which to retrieve files. Specify the file name or use a DOS-style pattern. Do not use suffix in.

Destination Directory

Directory on FTP host to return response to.

Append

If destination file exists, append on PUT.

Pending Directory

Local directory where pending requests are held.

Suffix In

Limits input files to those with this extension, for example, xml. Do not insert "." before the suffix. A "-" indicates no extension, that is, the field is not used.

Duration

Maximum time that a document can remain in the retry pending queue.

Retry

Interval between retrying pending requests.

Quote Command

Entered command is sent as typed, BEFORE any data transfer begins. Following login to the FTP server, if this is configured it is a command to be sent to the server. Often this is used to accomplish a secondary login.

Mode

ASCII does conversions (EBCDIC to ASCII and vice versa). BINARY data remains unchanged.

Do not unzip ZIP files

Pass ZIP files as a single file for processing (requires ACCEPT FLAT turned on).

Default is to unzip ZIP files and process the contents of the ZIP files individually.

Socket Timeout

Timeout in seconds. With this option set to a non-zero timeout, a read() call on the Socket will block for only this amount of time. If the timeout expires, a java.net.SocketTimeoutException is raised.

Use Passive Command

If true, use PASV command. If false, use PORT command.

Bad File List

Maintain a list of files with errors, preventing them from being re-accessed. If set, files will not be retried.

Delete After Read

Some FTP servers [such as VANs] automatically delete the file after read. In this case set this to false. If the file is not deleted, it will be reread at each FTP cycle.

Security

Secure Control Connection

If true, transfers the user ID and password in a secure manner. If client authentication is required, you may be required to configure the keystore under the HTTPS section of the system properties.

Note: If the keystore is configured in the system properties, ensure it has the CA certificate or the client certificate of the server to which you are connecting.

If the keystore is not configured in the system properties, the default truststores under /lib/security/cacerts is used.

Secure Data Connection

If true, transfers data in a secure manner. Used in conjunction with Secure Control Connection.

Use 128-bit Encryption

If true, enforces use of 128-bit encryption.

Security Protocol

Protocol to enable security. Security protocol values include:

  • SSL. Supports some version of SSL; may support other versions.
  • SSLv2. Supports SSL version 2 or higher.
  • SSLv3. Supports SSL version 3; may support other versions.
  • TLS. Supports some version of TLS; may support other versions.
  • TLSv1. Supports TLS version 1; may support other versions.

Other

Whitespace Normalization

Specifies how the parser treats whitespace in Element content. Choose preserve to turn off all normalization as prescribed by the XML Specification.Choose condense to remove extra whitespace in pretty printed documents and for compatibility with earlier versions.

Accepts non-XML (flat) only

If true, listener expects flat (non-XML) files; preparsers do not run.

Optimize Favoring

Use this option to customize how the listener performs. For smaller transactions, select performance. For large input documents that could monopolize the amount of memory used by iWay Service Manager, select memory.

Multithreading

Indicates the number of worker threads (documents or requests) that iWay Service Manager can handle in parallel. Setting this to a value of greater than 1 enables the listener to handle a second request while an earlier request is still being processed. The total throughput of a system can be affected by the number of threads operating. Increasing the number of parallel operations may not necessarily improve throughput.

Default: 1

Max Value: 99

Execution Time Limit

Maximum time that a request may take to complete. Used to prevent runaway requests. Any request that takes longer to complete than this value will be attempted to be terminated. (See the "kill interval" for related information in Global Options.)

Polling Interval

Maximum wait interval (in seconds) between checks for new requests or commands. The higher this value, the longer the interval, and the fewer system resources that are used. The side effect of a high value is that the worker thread will not be able to respond to a stop command.

Default: 2.0 seconds.

Default Java File Encoding

Default encoding if incoming message is not self-declaring (that is, XML).

Agent Precedence

Sets the order by which iWay Service Manager selects agents. iWay Service Manager selects the agent or agents to process the document by searching through the configuration dictionary. Usually, it looks for a document entry in the configuration and when a match is found, the agent specified in that document entry is selected. If a matching document entry is not found, or no agent is specified, the engine looks in the input protocol configuration (listener). To have the processing agent taken directly from the listener (thus ignoring the document entry), use <listener> overrides <document>.

Possible values are <document> overrides <listener> and <listener> overrides <document>.

The default value is: <document> overrides <listener>

Always reply to listener default

If true, the default reply definition is used in addition to defined reply-to and error-to destinations.

Error documents treated normally

If true, error documents are processed by any configured preemitters.

Listener is Transaction Manager

If true, agents run within a local transaction managed by the listener.

Record in Activity Log(s)

If set, activity on this channel will be recorded in the activity logs, else the activity will not be recorded.



x
Reference: File Transfer Protocol Listener Special Registers

The following table lists and describes the special registers (SREGs) available on the File Transfer Protocol Listener.

Name

Level

Type

Description

iwayconfig

System

String

Current active configuration name.

iwayhome

System

String

Base at which the server is loaded.

iwayworkdir

System

String

Path to base of the current configuration.

msgsize

Document

Integer

Physical length of the message payload.

name

System

String

Assigned name of the master (listener).

protocol

System

String

Protocol on which the message was received.

source

Document

String

Full name of the input file.



x
Configuring an FTP Emitter

Messages are sent to particular destinations at the completion of a workflow. The state of the document determines which destination is used. The order in which the destinations are used cannot be predicted.

Note: Configuring an FTP emitter is not required if the outlet (emitter) protocol is the same as the inlet (listener) protocol.

To route an output document or error message to a protocol other than that of the outlet (listener) used, you must configure an emitter. For example, if an application can send input over MQSeries, but you want to route the output to an FTP destination.



x
FTP Emitter Properties

The following table lists and describes the FTP emitter properties. For instructions on creating an emitter, see Configuring Emitters.

Property

Description

Destination (required)

file@host. If "*" is entered, a time stamp is substituted for the file name.

User Name (required)

User ID on the FTP host.

Password (required)

User password on the FTP host.

Account Name

Some FTP servers require an ACCT command as part of their login credential exchange. If configured, this information is sent by the ACCT command when the login is attempted.

Mode

ASCII does conversions (EBCDIC to ASCII and vice versa), BINARY data remains unchanged.

Socket Timeout

Time, in seconds, in which a read() call on the socket blocks. If the timeout expires, a java.net.SocketTimeoutException is raised.

Rename To

Name to give the uploaded file after the upload is complete. Use * in the name to be replaced by time stamp and # by a sequential counter, for example:

*.msg.someFolder/###.msg

Append

If a destination file exists, information is appended to that file. Otherwise, a new file is stored.

Quote Command

Entered command is sent as typed, BEFORE any data transfer begins. Following login to the FTP server, if this is configured it is a command to be sent to the server. Often this is used to accomplish a secondary login.

Security

 

Secure Control Connection

Use a secure control connection, for example, transfer user ID and password securely. Data transfer will not be secured. You may need to configure the keystore under the HTTPS section of the system properties if client authentication is required.

Note: If the keystore is configured in system properties, make sure it has the CA certificate or the client certificate of the server to which you are connecting. If the keystore is not configured in system properties, the default truststore located under <JRE_HOME>/lib/security/cacerts is used.

Secure Data Connection

Use a secure data connection, for example, transfer data securely. Used in conjunction with Secure Control Connection.

Use 128-Bit Encryption

Enforces the use of 128-bit encryption.

Security Protocol

Security protocol. Available options are:

  • SSL. Supports some version of SSL; may support other versions.
  • SSLv2. Supports SSL version 2 or higher.
  • SSLv3. Supports SSL version 3; may support other versions.
  • TLS. Supports some version of TLS; may support other versions.
  • TLSv1. Supports TLS version 1; may support other versions.



x
Troubleshooting for FTP

The following table describes an error that you may encounter when using an FTP listener.

Error

Reason

Solution

Unable to successfully 
log in to FTP: [line 
3]

System path was unable to log on to the FTP host with the supplied host, user ID, and password combination.

Verify that the host, user ID, and password combination is correct.


iWay Software