Seite 1 von 1

FTP :put/:putfile = leere Datei Problem [ERLEDIGT]

Verfasst: So, 19. Feb 2017 21:19
von DelUser01
Hallo

Habe schon einige Zeit einen FTP-Transfer im Programm eingebunden.
Je nach Konfiguration wird ASINET oder XBFTP verwendet. Hat eigentlich immer funktioniert. Läuft auch bei Kunden noch.

Jetzt habe ich das Problem, dass auf dem FTP-Server die zu übertragende Datei angelegt wird mit 0 Bit Inhalt. Und dann bleibt alles hängen bis der FTP-Server sein Timeout erreicht hat. : put/:putfile bringt dann eine Fehlermeldung.

Standard.Einstellungen: XBFTP, passive Mode und Binary-Transfer.
Habe verschiedene mögliche Kombinationen durchprobiert, kein Erfolg.

:connect()/:Open() :disconnect()/:close() und :delete()/:deletefile() funktionieren auch ohne Fehler.

Mache ich das Ganze mit FileZilla klappt das!

Hatte so einen Effekt auch schon jemand?

Einträge im FTP-Log des MS Internet-Servers:
Es fällt auf, dass bei meinem FTP "PASV" nicht gesendet wird. Es ist aber notwendig!
Der-Transfer-Typ "TYPE A" oder "TYPE I" wird gesendet.

Transfer mit FileZilla

Code: Alles auswählen

2017-02-19 21:08:01 172.29.59.29 - 172.29.58.3 21 ControlChannelOpened - - 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 - 172.29.58.3 21 USER webhc 331 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 21 PASS *** 230 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 /
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 21 OPTS UTF8+ON 200 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 21 CWD /screen 250 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 /screen
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 21 PWD - 257 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 21 TYPE A 200 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 21 PASV - 227 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 49183 DataChannelOpened - - 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 49183 DataChannelClosed - - 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 21 STOR screen1.JPG 226 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 /screen/screen1.JPG
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 21 TYPE I 200 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 21 PASV - 227 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 49184 DataChannelOpened - - 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 49184 DataChannelClosed - - 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:01 172.29.59.29 WWW3\webhc 172.29.58.3 21 LIST - 226 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 /screen
2017-02-19 21:08:02 172.29.59.29 WWW3\webhc 172.29.58.3 21 ControlChannelClosed - - 0 0 f7602c9f-5524-4619-8d30-7acea6abfa71 -
2017-02-19 21:08:02 172.29.59.29 WWW3\webhc 172.29.58.3 21 ControlChannelClosed - - 0 0 83d9b0c2-c5bb-41d4-b47c-c32ef0d04f10 -
Transfer-Versuch mit meinem Prog:

Code: Alles auswählen

2017-02-19 21:36:15 172.29.59.29 - 172.29.58.3 21 ControlChannelOpened - - 0 0 a994b607-afb0-4a75-b4f9-ee3f6198eae4 -
2017-02-19 21:36:15 172.29.59.29 - 172.29.58.3 21 USER WebHC 331 0 0 a994b607-afb0-4a75-b4f9-ee3f6198eae4 -
2017-02-19 21:36:15 172.29.59.29 WWW3\webhc 172.29.58.3 21 PASS *** 230 0 0 a994b607-afb0-4a75-b4f9-ee3f6198eae4 /
2017-02-19 21:36:15 172.29.59.29 WWW3\webhc 172.29.58.3 21 DELE \screen\screen1.JPG 250 0 0 a994b607-afb0-4a75-b4f9-ee3f6198eae4 /screen/screen1.JPG
2017-02-19 21:36:15 172.29.59.29 WWW3\webhc 172.29.58.3 21 TYPE A 200 0 0 a994b607-afb0-4a75-b4f9-ee3f6198eae4 -
2017-02-19 21:36:15 172.29.59.29 WWW3\webhc 172.29.58.3 21 PORT 172,29,59,29,210,188 200 0 0 a994b607-afb0-4a75-b4f9-ee3f6198eae4 -
2017-02-19 21:36:36 172.29.59.29 WWW3\webhc 172.29.58.3 21 STOR \screen\screen1.JPG 550 4294967295 0 a994b607-afb0-4a75-b4f9-ee3f6198eae4 /screen/screen1.JPG
2017-02-19 21:38:41 172.29.59.29 WWW3\webhc 172.29.58.3 21 ControlChannelClosed - - 258 0 a994b607-afb0-4a75-b4f9-ee3f6198eae4 -

Re: FTP :put/:putfile = leere Datei + Transfer-Problem

Verfasst: Mo, 20. Feb 2017 0:09
von ramses
Hallo Roland

das kenne ich, ist allerdings JAHRE her.

Meine Lösung die ich bis heute aktiv und problemlos verwende heisst fce32 von Marshall Soft.
Ich habe diese z.B. in einer Web-App die damit täglich viele Dateien übermittelt.

Allderdings verwenden wir kein MS Internet-Servers sondern ftpd unter Freebsd früher als als das Problem aufgetreten ist war dies unter Novell-Netware .... seitdem läuft alles über fce32.

Gruss Carlo

Re: FTP :put/:putfile = leere Datei Transfer-Problem

Verfasst: Mo, 20. Feb 2017 1:24
von DelUser01
Hallo Carlo

habe gerade den Fehler gefunden. War kurz davor eine andere LIB einzusetzen...

Lösung: In der XbFtp.prg von Phil ide hat der Schalter für Aktiv-/Passiv-Mode gefehlt:

Code: Alles auswählen

/*
   Author: Phil Ide
*/
METHOD XbFTP:Open( nOMode )
   STATIC cTpl
   local nHnd
   local lRet := FALSE

   If nOMode == NIL
      nOMode := 0   // 0 = active mode - sonst INTERNET_FLAG_PASSIVE für passiv mode
   EndIf

   if cTpl == NIL
      cTpl := DllprepareCall("wininet.dll",DLL_STDCALL,"InternetConnectA")
   endif

   if ::iOpen()
      nHnd := DllExecuteCall( cTpl, ::connHandle, ::address, ::port, ::userId, ::password, INTERNET_SERVICE_FTP, nOMode, 0 )

      if nHnd <> 0
         ::ftpHandle := nHnd
         lRet := TRUE
      else
         ::error := XBFTP_ERR_FTPCONN_FAIL
      endif
   endif
   return lRet
FTP aktive mode => nOMode := 0 => oXbFtp:Open( 0 ) oder einfach oXbFtp:Open()
FTP passive mode => nOMode := INTERNET_FLAG_PASSIVE => oXbFtp:Open( INTERNET_FLAG_PASSIVE )

Das erklärt allerdings noch nicht warum es auf meinem Server nicht mehr funktioniert hat.
( MS Win Server 2008 R2 Standard )
Ich nehme an, dass wieder irgend welche Updates im Spiel waren...

Re: FTP :put/:putfile = leere Datei Problem [ERLEDIGT]

Verfasst: So, 24. Sep 2017 23:53
von BJelinek
Danke Roland,
hatte den gleichen Fehler.
Jetzt klappt es mit deiner Änderung und Passivmodus.