I've taken over a software project that uses the Chilkat components. We're using version 126.96.36.199 having upgraded from an earlier one.
I've got an access issue with file upload using the ftp2 component. One of the client users frequently gets a 550 access denied error. Their permissions on the server seem to be correct and very occasionally they can upload. There are other users who do not have the issue.
I have tried using the software from my workstation using their connection details and it works. I have tried remoting to their workstation. The software using Chilkat does not upload but connecting to the same folder and transferring the same file using command line FTP does work.
The FTP server is Windows 2008 using IIS 7.5 with a standard FTP set up (that I can see). The server is in Australia and the client is connecting from China using a Chinese localised Windows 7. I can't see any issue with the file name created, it is all ASCII set characters, but I can't rule out something in the encoding.
I've been round and round with this and cannot see why this one client is having problems. Where else can I look for answers?
Edit update. Adding one of the Chilkat errors. Sorry it's in XML as that's what the client records at the moment. I've also substituted the IP addresses to hide them. The ccc ones are the client and the sss one the server.
<DllDate>Aug 15 2013</DllDate>
<Architecture>Little Endian; 32-bit</Architecture>
<initialGreeting>220 Microsoft FTP Service</initialGreeting>
<info>Passive transfer mode</info>
<info>This is an IPV4 numeric address.</info>
<info>Hostname to IP address resolution not needed.</info>
<info>Connecting to IPV4 address.</info>
<info>connect successful (3)</info>
<SetupPassiveDataSocket>Elapsed time: 468 millisec</SetupPassiveDataSocket>
<DataConnectionReady>Elapsed time: 0 millisec</DataConnectionReady>
<StorResponse>550 Access is denied.</StorResponse>
<FtpResponse24>550 Access is denied.</FtpResponse24>
<TotalTime>Elapsed time: 468 millisec</TotalTime>
Second edit, the software using the component is VB.Net using the 4.0 framework. It's a windows forms application.
Third edit, new log event:
I've set verbose logging on the Chilkat client and I've noticed that my log is reporting a data transfer of:
Which matches the local file size reported under here:
DllDate: Mar 6 2014
Architecture: Little Endian; 32-bit
Language: .NET 4.0
LocalFilename: C:\Documents and Settings\Administrator\Local Settings\Temp\ModelSync_20140401_201056.pdc
initialGreeting: 220 Microsoft FTP Service
active transfer mode
Using ephemeral port range for Active data connection.
bindSockAddr: 0200 0000 0000 0000 0000 0000 0000 0000
Socket bind successful.
sendingCommand: PORT -
replyLineQP: 200 PORT command successful.
commandResponse: 200 PORT command successful.
readResponse: Elapsed time: 203 millisec
PortCmd: Elapsed time: 219 millisec
setupActiveDataSocket: Elapsed time: 219 millisec
sendingCommand: STOR ModelSync_20140401_201056.pdc
Data connection accepted.
AcceptDataConnection: Elapsed time: 203 millisec
Reading intermediate response...
replyLineQP: 550 Access is denied.
commandResponse: 550 Access is denied.
readResponse: Elapsed time: 0 millisec
intermediateReply: 550 Access is denied.
socket is not ready for writing;
Socket send idle timeout
Failed to send on socket from source.
Failed to upload data.
UploadData: Elapsed time: 381187 millisec
Timeout waiting to read socket or accept connection
Terminated TCP connection.
TotalTime: Elapsed time: 741609 millisec
So it looks like the client sends, but then get's denied access. There is no temporary file that I can see in the target directory but I don't know if IIS FTP stores incoming files somewhere else before moving to the target, I can't find any mention of this. Can anyone notice anything odd in the logs here? Thanks.