FTP Adapter Capabilities

The FTP Adapter enables the integration of the File Transfer Protocol (FTP) and the Secure Shell (SSH) File Transfer Protocol (sFTP) into Oracle Integration. Using the FTP Adapter, Oracle Integration can retrieve files for processing in Oracle Integration and can upload files and messages from Oracle Integration to a directory on a remote FTP server.

The FTP Adapter has the following capabilities:
  • Supports the upload of an XSD file without a target namespace. In these cases, a surrogate namespace is added to the XSD file that all messages then use:
    http://xmlns.oracle.com/cloud/adapter/nxsd/surrogate
  • Transfers (reads and writes) files to any publicly accessible server in either binary or ASCII format. The FTP Adapter can connect to FTP and sFTP servers that are publicly available on the internet. The adapter cannot be used to connect to FTP and sFTP servers behind company firewalls.

  • Streaming support for transferring large files.

  • Enables the integration developer to build an orchestration pattern-based flow for retrieving files from remote FTP and sFTP servers as well as for uploading the files onto remote FTP / sFTP servers.Oracle Integration provides the capability for scheduling the time and the frequency at which these integration flows will run.

    See Scheduling Integration Runs.

  • Supports a synchronous one-way request message exchange pattern. There is no response from the FTP Adapter.

  • Enables you to create a schema file format to use for the files to transfer. The schema can be created (sampled) from either a comma-separated value (CSV) file or from an existing schema file. Supported delimiters in the file are single spaces, commas, semicolons, or tabs.

  • Enables the integration developer to encrypt a file that is being uploaded to remote FTP / sFTP servers using Pretty Good Privacy (PGP) cryptography.

  • Enables the integration developer to decrypt a file that is being read or downloaded from a remote FTP / sFTP server using Pretty Good Privacy (PGP) cryptography.

  • Supports explicit FTP over SSL. Implicit FTP over SSL is not supported.
  • Supports FTP over OpenSSL through the upload of a Public-Key Cryptography Standard (PKCS) format certificate. The FTP Adapter supports both sFTP and FTP over SSL. When using FTP over SSL, note that only explicit TLS/SSL encryption is supported.

    See Using Secure FTP with the Oracle FTP Adapter.

  • Supports self-diagnosing connectivity issues that may occur when integrating with external sFTP servers.

  • The adapter provides the following specific capabilities when used with the orchestration template:

    • Connection to an FTP server, FTP Over SSL (User can upload .p12 keys to connect), and an sFTP server.

    • Host Key authentication before connecting to an sFTP server. With this policy, you provide a user name and password to connect to the sFTP server.

    • Public Key authentication for sFTP servers. With this policy, you provide a user name, private key, and private key passphrase to connect to the SFTP server.

    • The FTP Adapter is only supported as an invoke connection in the following orchestrated integration scenarios:
      • Schedule: The adapter can be invoked using the scheduler.

      • Application event or business object: The adapter can be invoked using the REST or SOAP adapter as a trigger.

    • Provides List File, Read File, Write File, Download File, Move File, and Delete File operations to perform against ZIP and GZIP file formats.

    • User can use Format Definition page to generate schema for file format.

    • All the operations are synchronous and provide the response.

    • All the operations support dynamically passing the headers (directory, file name, and so on in mapping)

  • Supports signing verification and validation during the download of PGP encrypted files from an sFTP server. Signing provides a method for authenticating the sender of the file. You configure the PGP sign public key, PGP sign private key, and PGP sign private key password on the Connections page, then select the PGP security mode to use when configuring the FTP Adapter in the Adapter Endpoint Configuration Wizard for an orchestrated integration.
  • Supports complex XSDs that can import and include other XSDs. The included XSDs in the ZIP file can import the XSD from an HTTP location. All XSD files must be added to a ZIP file and uploaded when configuring the FTP Adapter for read and write operations in the Adapter Endpoint Configuration Wizard.

    In the following example, the hierarchy of the ZIP file to upload is as follows:
    zipxsd.zip
      first.xsd
      second (folder)
        second.xsd
    first.xsd imports second.xsd.
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:tns="http://xmlns.oracle.com/first" 
    targetNamespace="http://xmlns.oracle.com/first" 
          xmlns:tns1="http://xmlns.oracle.com/second"> 
    <xs:import schemaLocation="./second/second.xsd" 
    targetNamespace="http://xmlns.oracle.com/second"/>
    <xs:import schemaLocation="https://example.com/fscmService/ItemServiceV2?
    XSD=/xml/datagraph.xsd" targetNamespace="commonj.sdo"/>
    <xs:element name="book"> 
      <xs:complexType> 
        <xs:sequence> 
          <xs:element name="isbn" type="xs:string"/>
          <xs:element name="title" type="xs:string"/> 
          <xs:element name="author" type="tns1:author"/> 
        </xs:sequence> 
      </xs:complexType>  
    </xs:element> 
    </xs:schema>
    The contents of second.xsd are as follows.
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:tns="http://xmlns.oracle.com/second" 
    targetNamespace="http://xmlns.oracle.com/second"> 
    <xs:import schemaLocation="https://example.com/fscmService/ItemServiceV2?
    XSD=/mycompany/apps/scm/productModel/items/itemServiceV2/ItemAttachment.xsd" 
    targetNamespace="http://xmlns.oracle.com/apps/scm/productModel/items/itemServiceV2/"/>
    <xs:complexType name="author">
        <xs:sequence> 
           <xs:element name="name" type="xs:string"/>  
           <xs:element name="address" type="xs:string"/> 
        </xs:sequence> 
    </xs:complexType> 
    <xs:element name="Admin">
        <xs:complexType>
              <xs:sequence>
                 <xs:element name="AdminName" type="xs:string"/>
                 <xs:element name="AdminAdd" type="xs:string"/>
              </xs:sequence>
        </xs:complexType>
    </xs:element>
    </xs:schema> 

    Note:

    If you are importing from HTTPS locations, ensure that you import the SSL certificates into Oracle Integration.
  • Supports specifying sample XML documents for the payload when configuring the FTP Adapter for read and write operations.

  • Supports specifying JSON documents for the payload when configuring the FTP Adapter for read and write operations.

Note:

The FTP Adapter does not support the processing of files from the same folder by two integrations. File deletion causes a conflict. For example, if one integration deletes a file, the second integration cannot find the file to delete and fails.

Note:

The FTP Adapter only supports homogeneous arrays in JSON. Heterogeneous arrays in JSON samples and payloads are not supported. An example of a heterogeneous array is as follows:
{
    "example": [
         "kumar",
        {
            "firstName": ["John"],
        },  
        {
            "length": 100,
            "width": 60,
            "height": 30
        }
]
}

The FTP Adapter is one of many predefined adapters included with Oracle Integration. You can configure the FTP Adapter as a connection in an integration in Oracle Integration.