Skip to main content
Administrator Guide
Last Updated: 2024-07-26
Reference: FTP Subassembly Properties

Reference: FTP Subassembly Properties

The FTP Subassembly is no longer available from the Studio Palette. In new integrations, you should use the
ftp-out
or
sftp-out
components to send documents to an FTP server. These components offer improved security, better performance, and enhanced reliability. They’re also compatible with later versions of JSCAPE. The FTP Subassembly remains functional in existing integrations, but Workday recommends that, where practical, you replace it.

Common Tab

Property
XML Attribute Name
Description
Id
id
The unique ID of the
Ftp
subassembly within the assembly.
Routes Response To
routes-response-to
The destination of the response message for the
Ftp
subassembly.
Execute When
execute-when
A condition that determines whether the
Ftp
subassembly executes.
Endpoint
endpoint
The target endpoint address for the subassembly. The
Ftp
component supports a
vm://
endpoint address. Example:
vm://wcc/Ftp
.

Advanced Tab

Property
XML Attribute Name
Description
Store Message
store-message
Specify
none
unless otherwise advised by Workday Support.
To store messages, use Studio's
store
step.
Transport Class
transport-class
Specifies an alternative implementation class on a per-assembly basis, if required.
You can globally change the implementation classes by editing the WEB-INF/classes/spring/assembly-bean.xml file.
Ignore Dynamic Endpoints
ignore-dynamic-endpoints
Specifies whether to ignore the dynamic WS-Addressing (WSA) value in the incoming message's header or use it to override the value in the transport's
Endpoint
property.
Use the
set-dynamic-endpoint
step to specify WS-Addressing details.
Clone Request
clone-request
Specifies whether to chain processing between subassemblies. Set to
true
to create a copy of the original message so that any subassembly modifying the request message won't affect the others. Set to
false
to pass the original message.
Propagate Abort
propagate-abort
Specifies whether an abort flag propagates from a subassembly to the calling assembly.
A subassembly stops processing when it marks the
MediationContext
as aborted.
Unset Properties
unset-properties
Specifies whether all
local-out
properties reset after the
local-out
transport calls a subassembly.

Parameters Tab

Parameter
Description
wd.ftp.endpoint
The endpoint scheme used to determine which
ftp-out
transport to use. The endpoint must start with
ftp://
,
sftp://
, or
ftps://
.
wd.ftp.username
The username used to access the FTP server.
wd.ftp.password
The password associated with the username used to access the FTP server.
wd.ftp.method
The method or message action that the FTP subassembly implements when connecting with the endpoint. Enclose each action in single quotes. Valid options include:
  • 'put'
    : The FTP component sends the message to the FTP server and the message remains unchanged.
  • 'get'
    : The assembly replaces the root part of the message with the data that it receives from the FTP server.
  • 'list'
    : The message remains unchanged. Workday adds a context property called
    wd.ftp.files.list
    , which contains a
    List<String>
    object instance.
    Using the
    'list'
    method with a file pattern of
    *.txt
    or
    *.xml
    results in an exception.
  • 'delete'
    : Workday requests a file deletion from the FTP server. The message remains unchanged.
  • 'mget'
    (multiget): Workday downloads all files that match the input pattern and replaces the root part of the message with a ZIP file containing those files.
  • 'mdelete'
    (multidelete): Workday deletes all files that match the input pattern. The message remains unchanged.
wd.ftp.passive.mode
Specifies whether passive mode is used during the FTP connection.
wd.ftp.file.pattern
Specifies the file pattern used when performing the FTP operation. Examples:
  • *.xml
  • *.txt
For most methods other than
list
, Workday supports wildcards and performs filtering on the client side. For the
list
method, Workday uses server-side filtering, based on regular-expression syntax. Examples:
  • wd.ftp.method
    is
    'get'
    and
    wd.ftp.file.pattern
    is
    *.xml
    : Workday gets the first .xml file found on the FTP server in the specified directory.
  • wd.ftp.method
    is
    'mget'
    and
    wd.ftp.file.pattern
    is
    *.xml
    : Workday gets all the .xml files found on the FTP server in the specified directory and returns them in ZIP format.
  • wd.ftp.method
    is
    'list'
    and
    wd.ftp.file.pattern
    is
    ^.*\.(xml)$
    : Workday lists all the .xml files found on the FTP server in the specified directory.
wd.ftp.temp.file.name
Specifies whether a temporary file should be used when performing an FTP
put
message action.
wd.ftp.timeout
A timeout for the message action in milliseconds.
wd.ftp.directory
The relative or fully qualified directory path.
wd.ftp.private.key
The private key associated with the username for SFTP authentication. Formatted as a URI using the attachment protocol and a Workday ID. Example:
attachment:privatekey/@{WID}
, where WID corresponds to a 32-character Workday ID.
wd.ftp.max.attempts
The maximum number of attempts to access the FTP server.
wd.ftp.debug
Specifies whether Workday will add debug logging to the logs.
wd.ftp.proxy.host
The hostname of the FTP proxy server.
wd.ftp.proxy.port
The FTP proxy server port.
wd.ftp.proxy.username
The username for accessing the FTP proxy server.
wd.ftp.proxy.password
The password of the FTP proxy server.
wd.ftp.proxy.type
The type of the proxy server.
wd.ftp.input.content.type
Specifies the content type of files retrieved using FTP
get
. Example:
text/plain; charset=Big5
.