I'm working with camel-ftp and I have problems with German umlauts (e.g. Ö) in the directory name to connect to the FTP-Server. I can't rename this directory because it's a working directory of the company.
I use camel.version: 2.18.1 and camel-ftp.version: 2.18.1.
I configured following route (in the route I defined the directory which contains the umlaut with the unicode character \u00d6 for Ö):
from(ftp://user@hostname:21/etc/\u00d6ffentlicherOrdner/test?password=pwd).routeId("kurse").to(...)
Error message:
Consumer FtpConsumer[ftp://user@hostname:21/etc//0�ffentlicherOrdner/test?password=xxxxxx]
failed polling endpoint: ftp://ftp://user@hostname:21/etc/0�ffentlicherOrdner/test?password=xxxxxx.
Will try again at next poll.
Caused by: [org.apache.camel.component.file.GenericFileOperationFailedException -
File operation failed: 550 �ffentlicherOrdner: Das System kann die angegebene Datei nicht finden.
When I extend the route with the following parameters:
&ftpClient.controlEncoding=ISO-8859-15
&charset=ISO-8859-15
&consumer.bridgeErrorHandler=true
Then I get the output that everything seems fine, because I didn't get any error message:
Route: kurse started and consuming from: ftp://user@hostname:21/etc/ÖffentlicherOrdner/test?charset=ISO-8859-1&consumer.bridgeErrorHandler=true&ftpClient.controlEncoding=ISO-8859-1&password=xxxxxx
But now no files are polled. I have some files in test directory but when i start the process it isn't pushing the files to the endpoint.
I don't understand why it is not consuming the files? Maybe the encoding is still wrong?
EDIT:
I was so fixed concerning the encoding that I missed to check the FTP properties.
The solution of my problem was to set the passiveMode:
&passiveMode=true