Archived Forum PostQuestion:
Hi, I have a .NET batch process that retrieves PDF files from ftp. I'm using ChilkatDotNet2 (FTP2) version 9.5.0.66. This doesn't happen all the time but once in a while the method GetRemoteFileBinaryData returns a file content length of 0. However the PDF clearly is not empty. I've basically been stopping and rerunning the process and suddenly it will work again. Anyone experience this same issue?
Dim FileContent As Byte() FileContent = Ftp.GetRemoteFileBinaryData(fileName)
Look at the contents of the Ftp.LastErrorText property.
Whenever a Chilkat method fails or doesn't behave as expected, look at the contents of the LastErrorText property. The LastErrorText always contains information for the last method call, even if successful. You can turn on verbose logging by setting the Ftp.VerboseLogging property = true (or 1, or whatever applies in the given programming language)
This is what came back in the last error text
ChilkatLog:
GetRemoteFileBinaryData:
DllDate: Mar 20 2017
ChilkatVersion: 9.5.0.66
UnlockPrefix: MDCEDUFTP
Architecture: Little Endian; 32-bit
Language: .NET 2.0
VerboseLogging: 0
ProgressMonitoring:
enabled: yes
heartbeatMs: 0
sendBufferSize: 65536
--ProgressMonitoring
downloadToMemory:
downloadToOutput:
modeZ: 0
binaryMode: 1
pbsz_protp:
simpleCommand:
sendCommand:
sendingCommand: PBSZ 0
--sendCommand
readCommandResponse:
processAlert:
TlsAlert:
level: fatal
descrip: bad record mac
--TlsAlert
Closing connection in response to fatal SSL/TLS alert.
--processAlert
Failed to receive more bytes.
Failed to read FTP control channel reply.
--readCommandResponse
--simpleCommand
--pbsz_protp
--downloadToOutput
--downloadToMemory
Failed.
--GetRemoteFileBinaryData
--ChilkatLog
Please try this new build:
https://chilkatdownload.com/prerelease/chilkatdotnet2-9.5.0-win32-108.zip
https://chilkatdownload.com/prerelease/chilkatdotnet2-9.5.0-x64-109.zip
Thanks for your quick reply. I tried with the new build but received similar error.
ChilkatLog:
GetRemoteFileBinaryData:
DllDate: May 4 2017
ChilkatVersion: 9.5.0.67
UnlockPrefix: MDCEDUFTP
Architecture: Little Endian; 32-bit
Language: .NET 2.0
VerboseLogging: 0
downloadToOutput:
ProgressMonitoring:
enabled: yes
heartbeatMs: 0
sendBufferSize: 65536
--ProgressMonitoring
downloadToOutput:
downloadToOutput2:
modeZ: 0
binaryMode: 1
pbsz_protp:
simpleCommand:
sendCommand:
sendingCommand: PBSZ 0
--sendCommand
readCommandResponse:
replyLineQP: 200 PBSZ set to 0.
--readCommandResponse
--simpleCommand
simpleCommand:
sendCommand:
sendingCommand: PROT P
--sendCommand
readCommandResponse:
replyLineQP: 200 PROT now Private.
--readCommandResponse
--simpleCommand
--pbsz_protp
setupDataConnection:
passive transfer mode
setupPassiveDataSocket:
sendCommand:
sendingCommand: PASV
--sendCommand
readCommandResponse:
replyLineQP: 227 Entering Passive Mode (23,246,200,139,46,247).
--readCommandResponse
dataConnect:
hostname: 23.246.200.139
port: 12023
socketOptions:
SO_SNDBUF: 262144
SO_RCVBUF: 4194304
TCP_NODELAY: 0
SO_KEEPALIVE: 0
--socketOptions
dataConnectSuccess: 1
--dataConnect
--setupPassiveDataSocket
--setupDataConnection
sendCommand:
sendingCommand: RETR IBR_2918897.pdf
--sendCommand
readCommandResponse:
processAlert:
TlsAlert:
level: fatal
descrip: bad record mac
--TlsAlert
Closing connection in response to fatal SSL/TLS alert.
--processAlert
Failed to receive more bytes.
Failed to read FTP control channel reply.
--readCommandResponse
Failed to read RETR intermediate reply
--downloadToOutput2
--downloadToOutput
--downloadToOutput
Failed.
--GetRemoteFileBinaryData
--ChilkatLog
I think the only way to investigate is to test directly with that particular server. If you're licensed and wish to provide a test account, please send email to support@chilkatsoft.com