[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: ftp_quote not working



Scott,

As always, you have explained perfectly what is happening. I used the array technique to get the job done while waiting for an answer. 
I hate putting limitations on any programming method (array processing) but I don't think there will ever be 9,999 files on the server side for each type anyway. (audit and batch).  The server side xml files may have up to 6 years of data with 2 or 3 files per day but should be purged after that year by year.

Thank you,

Craig



-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Scott Klement
Sent: Monday, October 17, 2011 11:11 PM
To: ftpapi@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: ftp_quote not working

hi Craig,

In an FTP client, the "QUOTE" subcommand is used to send raw FTP protocol data from the client to the server.

When you log in "by hand" (as you put it) you are NOT using quote at all.  You are simply typing the commands that you want to run into the client, and it is interpreting them and running them.  So all is well.

You've told FTPAPI to send 'ls audit* (disk' to the FTP server as if it's FTP protocol data.  It is not.  The FTP protocol has no notion of an 'ls' command.

In the IBM FTP client for i.  (Which is what you've termed doing it "by
hand") you type "ls audit* (disk", and that is NOT sent to the server as is.  Instead, the FTP client reads it. It knows what "ls" means, so it sends the "NLST" FTP command.  The (DISK part is not part of the FTP protocol at all, but rather is an instruction to the IBM FTP client (and is peculiar -- a feature that doesn't exist in any other FTP client I've ever heard of -- at least, not with that syntax.)  Furthermore, because the client understood and interpreted your command, it sets up the data connection to transfer the directory listing for you.  That's something else that would not happen if you sent the raw FTP protocol yourself.

To compare apples to apples, go into the IBM FTP client (i.e. "by hand") and try the following command:

QUOTE 'ls audit* (disk'

(That is, after all, exactly what you told FTPAPI to do.)

Anyway, FTPAPI is a programmatic interface. It doesn't know how to write a directory to disk.  It has the option to return a directory listing straight to your program (in an array) or to use a callback subprocedure to send the file names one at a time.  If you wanted it written to disk, you could easily write code to do that, since the RPG programming language has a rich array of options for writing data to disk :)


On 10/17/2011 10:15 AM, Craig Jacobsen wrote:
>
>     I am trying to create a list of all audit files on an FTP server.
>
>     I may have thousands of entries (begin with AUDIT or BATCH)  and am
>     going to use the output file to compare against a file of already
>     ftp'd files and ftp files not already there.
>
>
>     If I log on by hand, everything works ok:
>
>
>     Connecting to remote host 172.17.1.21 using port 5008.
>
>     220 FileZilla Server version 0.9.24 beta
>
>     trails_client
>
>     331 Password required for trails_client
>
>     230 Logged on
>
>     UNIX emulated by FileZilla
>
>     sendepsv
>
>     SENDEPSV is off.
>
>     ls audit* (disk
>
>     227 Entering Passive Mode (172,17,1,21,17,89)
>
>     150 Connection accepted
>
>     226 Transfer OK
>
>
>     I connect to the ftp server ok with FTPAPI but keep getting a syntax
>     error through ftp_quote
>
>
>     // connect to the line 1 ftp server
>
>     ftp = ftp_conn('172.17.1.21':'trails_client':'password':5008);
>
>
>     // set the passive mode *off
>
>     ReturnCode = Ftp_PassiveMode(ftp:*Off);
>
>
>     // create lsoutput file with all audit files
>
>     ReturnCode = Ftp_Quote(ftp:'ls audit* (disk');
>
>
>     Joblog says:
>
>     >  ls audit* (disk
>
>     500 Syntax error, command unrecognized.
>
>
>     Why is this a syntax error?  I'm probably doing something wrong, but I
>     can't figure it out.
>
>
>     Thanks in advance for any help,
>
>
>     Craig
>
>     Confidentiality Notice: This e-mail message, including any
>     attachments, is for the sole use of the intended recipient(s) and may
>     contain confidential and privileged information. Any unauthorized
>     review, use, disclosure or distribution is prohibited. If you are not
>     the intended recipient, please contact the sender by reply e-mail and
>     destroy all copies of the original message. Unless expressly stated in
>     this e-mail, nothing in this message or any attachment should be
>     construed as a digital or electronic signature.
>
>
>
>
> ----------------------------------------------------------------------
> - This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> ----------------------------------------------------------------------
> -

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------

Confidentiality Notice: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.  Unless expressly stated in this e-mail, nothing in this message or any attachment should be construed as a digital or electronic signature.
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------