Ich muss eine Datei vom SFTP-Server lesen. Aber beim Lesen es Kamel wirft com.jcraft.jsch.SftpException: Permission denied
. Aber ich habe Lese- und Schreibrechte für den Ordner und die Dateien darin. Ich habe versucht, die Datei in den Ordner .done mit filezilla zu verschieben, und es funktioniert.Apache Camel wirft Erlaubnis verweigert für SFTP-Verbindung
Route:
sftp://[email protected]_ADDRESS:PORT/path?password=MY_PASSWORD&move=.done&binary=true&disconnect=true&include=FILENAME_(2\\d{3})(\\d{2})(\\d{2}).txt
Stacktrace
o.a.c.c.file.remote.SftpConsumer : Error processing file RemoteFile[FILENAME_20170802.txt] due to Cannot retrieve file: path/FILENAME_20170802.txt. Caused by: [org.apache.camel.component.file.GenericFileOperationFailedException - Cannot retrieve file: path/FILENAME_20170802.txt]
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot retrieve file: path/FILENAME_20170802.txt
at org.apache.camel.component.file.remote.SftpOperations.retrieveFileToStreamInBody(SftpOperations.java:704) ~[camel-ftp-2.19.1.jar:2.19.1]
at org.apache.camel.component.file.remote.SftpOperations.retrieveFile(SftpOperations.java:648) ~[camel-ftp-2.19.1.jar:2.19.1]
at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:408) [camel-core-2.19.1.jar:2.19.1]
at org.apache.camel.component.file.remote.RemoteFileConsumer.processExchange(RemoteFileConsumer.java:137) [camel-ftp-2.19.1.jar:2.19.1]
at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:218) [camel-core-2.19.1.jar:2.19.1]
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:182) [camel-core-2.19.1.jar:2.19.1]
at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174) [camel-core-2.19.1.jar:2.19.1]
at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101) [camel-core-2.19.1.jar:2.19.1]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_131]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_131]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_131]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: com.jcraft.jsch.SftpException: Permission denied
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2873) ~[jsch-0.1.54.jar:na]
at com.jcraft.jsch.ChannelSftp._stat(ChannelSftp.java:2225) ~[jsch-0.1.54.jar:na]
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1318) ~[jsch-0.1.54.jar:na]
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1290) ~[jsch-0.1.54.jar:na]
at org.apache.camel.component.file.remote.SftpOperations.retrieveFileToStreamInBody(SftpOperations.java:689) ~[camel-ftp-2.19.1.jar:2.19.1]
... 14 common frames omitted
wenn Kamel werfen Erlaubnis abgelehnt. es wäre sicherlich ein mit der Erlaubnis zusammenhängendes Problem. Überprüfen Sie, wie Sie Ihre Anmeldeinformationen weitergeben. Die in real bereitgestellten Anmeldeinformationen haben diese Rechte. Überprüfen Sie die camel ftp-Syntax, die für die Verbindung mit Ihrem FTP-Server verwendet wird. – sakura
Überprüfen Sie, ob der Ordner vorhanden ist und der Pfad des Ordners in der Kamelroute (d. H. Syntax) korrekt angegeben wurde. Versuchen Sie es mit ./done. Stellen Sie außerdem sicher, dass die Quelldatei 'FILENAME.txt' existiert. Sie haben einige Muster mit Dateiname verbunden, aber ich sehe keine Sache in dem Namen für Dateinamen angehängt. – sakura
@sakura Aktualisierter Dateiname. Die Datei existiert in SFTP und druckt auch den richtigen Dateinamen aus dem richtigen Pfad. In SFTP haben angegebene Berechtigungsnachweise die Berechtigung zum Lesen und Schreiben von Dateien (geprüft mit filezilla). Aber ich bekomme immer noch diesen Fehler – Ibrahim