Domino 9 und frühere Versionen > ND8: Entwicklung

LS & FTP

(1/3) > >>

buzzy666:
Hi zusammen,
ich habe ein Problem mit dem Übertrag einer Datei via LS in ein FTP-Verzeichnis. Bei uns in der Entwicklungsumgebung klappt (logischerweise) alles, in der Praxisumgebung leider nicht.
Und zwar habe ich einen Agenten, der zeitgesteuert läuft. Der rumpelt über bestimmte Dokumente und liest dort das Zielverzeichnis aus, generiert eine HTML-Datei, speichert diese lokal ab und überträgt sie dann via FTP (ich verwende da die Funktion FTPPutFile der WinInet.dll).
Besser gesagt: *soll* die übertragen, weil die lokale Datei zwar erzeugt wird, aber nicht übertragen.

Erzeugt wird sie durch folgenden Code:

Dim fileName As String
fileName = "newsletter.html"      
Dim fileNum As Integer
fileNum% = FreeFile()
Open fileName For Output As fileNum%   
Print #fileNum%, inhalt      
Close fileNum


Die Variable "fileName" wird gleich im Anschluß an die PutFile-Funktion übergeben (enthält zu dem Zeitpunkt "newsletter.html"), aber Domino scheint damit nix anfangen zu können.

Hat jemand nen Tipp, woran das liegen könnte?

Grüße,
Buzzy

Peter Klett:
Schön, dass Du uns nur den Teil des Codes zeigst, der funktioniert ...

Befindet sich die WinInet.dll auf dem Server?

Falls ja, welche Ausführungsrechte hat der Agent?

Gibt es irgendwelche Fehlermeldungen?

Reicht dem FTPPutFile ein Dateiname ohne Pfadangabe aus?

Thomas Schulte:
Hmm, Ohne winInet Aufrufe ...
http://www.nsftools.com/tips/NotesTips.htm Such da mal nach FTP.

buzzy666:

--- Zitat von: Peter Klett am 19.02.13 - 12:27:50 ---Schön, dass Du uns nur den Teil des Codes zeigst, der funktioniert ...

Befindet sich die WinInet.dll auf dem Server?

Falls ja, welche Ausführungsrechte hat der Agent?

Gibt es irgendwelche Fehlermeldungen?

Reicht dem FTPPutFile ein Dateiname ohne Pfadangabe aus?

--- Ende Zitat ---

Hi,
der Aufruf, der nicht funktioniert (ohne Fehlermeldung) sieht so aus:

erg = ftp.PutFile(fileName, Me.m_document.Getitemvalue("FTPFolder")(0) + "/" + fileName, FTP_TRANSFER_TYPE_ASCII)

wobei "ftp" die Instanz einer Klasse aus einer anderen Bib ist, in der die FTP-Funktionalität abgebildet wurde.
Der dortige Aufruf der DLL-Funktion schaut so aus:

bRet = FtpPutFile(mlConnection, LocalFileAndPath, ServerFileAndPath, TransferType, 0)

Die Ausführungsrechte stehen auf "1".

Die Pfadangaben haben lokal (also: auf unserem Server) immer funktioniert, beim Kunden jedoch nicht. Ob die DLL dort vorhanden ist, bringe ich gerade in Erfahrung.

Grüße,
Buzzy

Thomas Schulte:
Lass mich raten. Ihr nutzt das hier ...

http://www.bananahome.com/ldd/sandbox.nsf/ByDate/9e752a60b6f902c7852568ef006b4ad1?OpenDocument

Ihr wisst schon, das das 32 Bit Code ist ...

"As the NotesFTPSession Class makes calls to the Win32 Internet function library (wininet.dll), this script library can only be used on the Win32 platform. "

Und da würde ich mal als allererstes nachschauen.

Die Ganzen Strukturen und Functions die in dieser Bibliothek deklariert werden sind nämlich all auf die WIN32 Internet API gemünzt.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln