Sample code for 30+ languages & platforms
PureBasic

Inovis VAN FTP/SSL (EDI)

See more FTP Examples

Demonstrates how to connect to the Inovis EDI VAN (FTP/SSL).

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkFtp2.pb"

Procedure ChilkatExample()

    success.i = 0

    ; This example requires the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    ftp.i = CkFtp2::ckCreate()
    If ftp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkFtp2::setCkHostname(ftp, "ftpssl.gateway.inovisworks.net")
    CkFtp2::setCkUsername(ftp, "myLogin")
    CkFtp2::setCkPassword(ftp, "myPassword")

    ; The Inovis EDI VAN requires Passive connections:
    CkFtp2::setCkPassive(ftp, 1)

    ; Note: The Inovis documentation mentions an outbound
    ; high port range of 40000-49999.  In passive mode, the
    ; FTP server chooses the port number for the data
    ; connection.  The Inovis server will choose a port number
    ; in the range 40000-49999.  To establish the data connection,
    ; your firewall must allow outgoing connections in that port
    ; range. 

    ; This tells Chilkat FTP2 to establish
    ; an AUTH TLS secure channel after connecting
    ; on the standard FTP port 21.
    CkFtp2::setCkAuthTls(ftp, 1)

    ; You'll probably need this property set to 1 if you're
    ; behind a NAT router or firewall.
    CkFtp2::setCkPassiveUseHostAddr(ftp, 1)

    ; The Ssl property is for establishing an implicit SSL connection
    ; on port 990.  Do not set it to 1.  The Inovis VAN
    ; uses explicit encryption (SSL/TLS).
    CkFtp2::setCkSsl(ftp, 0)

    ; The Chilkat FTP component automatically sends a "FEAT";
    ; command after connecting.  This allows the component
    ; to better know the FTP server's capabilities.
    ; The Invois server doesn't recognize the FEAT command,
    ; so disable it:
    CkFtp2::setCkAutoFeat(ftp, 0)

    ; Connect, convert to TLS, and login to the FTP server.
    success = CkFtp2::ckConnect(ftp)
    If success <> 1
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    Else
        ; LastErrorText contains information even when
        ; successful. This allows you to visually verify
        ; that the secure connection actually occurred.
        Debug CkFtp2::ckLastErrorText(ftp)
    EndIf

    Debug "Connection to Inovis EDI VAN OK!"

    ; Do whatever you're doing to do ...
    ; upload files, download files, etc...

    success = CkFtp2::ckDisconnect(ftp)


    CkFtp2::ckDispose(ftp)


    ProcedureReturn
EndProcedure