Hello again Willem! Maybe we should switch thread since this presently has nothing to do with ftps...
Anyway, it's going to be pretty hard for me to extract a small test case. Not sure I will be enable to do it. Just out of curiosity, did you also try a "ftps:" endpoint? Also, I've been doing some System.out debugging. I've found out the following: The resolver that is being used is an instance of the org.apache.camel.core.osgi.OsgiClassResolver class. When I search through the Camel source code I only find this class in one place - in the camel-core-osgi component. To my knowledge I don't use that component and I have no idea how that class can be instantiated in run-time. Any thoughts on this? Is this the correct resolver to use? How is camel-core supposed to find that class? How does it work? /Bengt 2010/6/10 Willem Jiang <willem.ji...@gmail.com> > Hi Bengt, > I just tried to use some file endpoint inside our camel OSGi test platform, > the route is started without any issue. > > Can you create a small test case which is based on you application and > submit it into a JIRA ? > In this way I can keep on digging the issue :) > > Willem > > > Bengt Rodehav wrote: > >> I now get the following exception: >> >> java.lang.TypeNotPresentException: Type >> org.apache.camel.component.file.strategy.GenericFileProcessStrategyFactory >> class not found not present >> at >> >> org.apache.camel.component.file.GenericFileEndpoint.createGenericFileStrategy(GenericFileEndpoint.java:145) >> at >> >> org.apache.camel.component.file.GenericFileEndpoint.getGenericFileProcessStrategy(GenericFileEndpoint.java:118) >> at >> >> org.apache.camel.component.file.GenericFileConsumer.doStart(GenericFileConsumer.java:397) >> at >> org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:56) >> at >> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:53) >> at >> >> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1015) >> ... >> >> This is incredibly strange to me. It seems like the caller (line 145 in >> class GenericFileEndpoint) cannot find the class >> GenericFileProcessStrategyFactory. They both reside in camel-core so there >> can be no problem in finding the class. However it is not exactly trying >> to >> find it but to "resolve" it. The following call throws the exception: >> >> factory = >> >> this.getCamelContext().getClassResolver().resolveClass(DEFAULT_STRATEGYFACTORY_CLASS); >> >> Any ideas? >> >> /Bengt >> >> >> >> >> >> >> 2010/6/10 Bengt Rodehav <be...@rodehav.com> >> >> Willem, >>> >>> I'm just now building a new trunk version of Camel and need to verify >>> with >>> you that I'm using Camel properly in an OSGi environment: >>> >>> - I only install the features "camel" (includes camel-core and >>> camel-spring >>> bundles) + camel-ftp (that I wish to test) >>> Do I need camel-spring if I'm not using Spring directly? I create all my >>> routes in Java DSL. >>> >>> - I noticed that there is a component called camel-core-osgi. Should I >>> use >>> it in any way? How? >>> >>> Just out of curiosity. What was the typo you mentioned? >>> >>> /Bengt >>> >>> >>> 2010/6/10 Willem Jiang <willem.ji...@gmail.com> >>> >>> Hi Bengt, >>>> >>>> It's a typo, I just fixed it with an OSGi unit test. >>>> Please check out the last camel trunk code to keep on riding with Camel >>>> :) >>>> >>>> >>>> Willem >>>> >>>> Bengt Rodehav wrote: >>>> >>>> Thanks Willem - what a relief... >>>>> >>>>> I eagerly await the results from your digging, >>>>> >>>>> /Bengt >>>>> >>>>> 2010/6/10 Willem Jiang <willem.ji...@gmail.com> >>>>> >>>>> I can reproduce the error that you met, there must be something wrong >>>>> >>>>>> with >>>>>> current OSGi refactoring, >>>>>> I will keep digging to see if I can fix this issue soon. >>>>>> >>>>>> Willem >>>>>> >>>>>> >>>>>> Bengt Rodehav wrote: >>>>>> >>>>>> Thanks for your reply Willem, >>>>>> >>>>>>> I've tried various combinations of camel features. Right now I use >>>>>>> the >>>>>>> "camel" feature (plus camel-ftp since that's what I'm trying to >>>>>>> test). >>>>>>> In >>>>>>> runtime I can see the camel-core, camel-spring and the camel-ftp >>>>>>> bundles >>>>>>> installed and active. I manage to create an OsgiDefaultCamelContext >>>>>>> the >>>>>>> following way: >>>>>>> >>>>>>> mCamelContextFactory = new CamelContextFactory(); >>>>>>> mCamelContextFactory.setBundleContext(theBundleContext); >>>>>>> mCamelContext = mCamelContextFactory.createContext(); >>>>>>> >>>>>>> However, when I try to start the camel context I get the exception I >>>>>>> mentioned above: >>>>>>> >>>>>>> Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to >>>>>>> resolve endpoint: >>>>>>> >>>>>>> >>>>>>> file://data/connect/test/sample/file2ftps?delay=1000&move=archive%2F%24% >>>>>>> >>>>>>> >>>>>>> >>>>>>> 7Bdate%3Anow%3AyyyyMMdd%7D%2F%24%7Bfile%3Aname%7D&moveFailed=failed%2F%24%7Bfile%3Aname.noext%7D-%24%7Bdate%3Anow%3AyyyyMMddHHmmssSSS%7D.%24%7Bfile%3Aext%7D >>>>>>> due to: No language could be found for: file >>>>>>> at >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:377) >>>>>>> >>>>>>> To me it sounds like the languages has not been registered properly. >>>>>>> Looking >>>>>>> through the code it looks like the OSGi "registration" part of camel >>>>>>> has >>>>>>> moved from camel-osgi to camel-core. Which I guess means that I >>>>>>> should >>>>>>> not >>>>>>> be using camel-osgi anymore (just camel-core in combination with >>>>>>> camel-spring). This is what I'm doing, but I still get the above >>>>>>> exception. >>>>>>> >>>>>>> Could it be a problem with iPojo? I use iPOJO to create my OSGi >>>>>>> services >>>>>>> from configurations handled by file install. I noticed that the >>>>>>> BundleContext I'm using is really an instance >>>>>>> of org.apache.felix.ipojo.IPojoContext. >>>>>>> >>>>>>> Any clues? >>>>>>> >>>>>>> /Bengt >>>>>>> >>>>>>> >>>>>>> >>>>>>> 2010/6/10 Willem Jiang <willem.ji...@gmail.com> >>>>>>> >>>>>>> Hi Bengt, >>>>>>> >>>>>>> Did you use the apache camel feature of the Camel 2.4-SNAPSHOT ? >>>>>>>> If so, you just need to install the feature of camel, it includes >>>>>>>> the >>>>>>>> camel-core feature and camel-spring feature. >>>>>>>> >>>>>>>> And you can still use org.apache.camel.osgi.CamelContextFactory to >>>>>>>> create >>>>>>>> the camel context :) >>>>>>>> >>>>>>>> Willem >>>>>>>> >>>>>>>> >>>>>>>> Bengt Rodehav wrote: >>>>>>>> >>>>>>>> Claus, >>>>>>>> >>>>>>>> I have now managed to build Camel version 2.4-SNAPSHOT. However, I >>>>>>>>> can't >>>>>>>>> get >>>>>>>>> my application to work on that version. I'm using Karaf 1.6.0 for >>>>>>>>> deployment >>>>>>>>> and something has definitely changed in Camel regarding OSGi. I >>>>>>>>> haven't >>>>>>>>> figured out how to use Camel 2.4-SNAPSHOT in Karaf yet. Maybe you >>>>>>>>> (or >>>>>>>>> someone else reading this) can help out? >>>>>>>>> >>>>>>>>> When using Camel 2.3, I create my camel context using >>>>>>>>> the org.apache.camel.osgi.CamelContextFactory class. In runtime, >>>>>>>>> this >>>>>>>>> class >>>>>>>>> is imported from the camel-spring-osgi bundle. The activator for >>>>>>>>> this >>>>>>>>> bundle >>>>>>>>> (org.apache.camel.osgi.Activator) seems to reside in the camel-osgi >>>>>>>>> bundle >>>>>>>>> but that bundle also seems to be embedded in camel-spring-osgi. >>>>>>>>> Have >>>>>>>>> to >>>>>>>>> admit that this solution is far from pretty but it seems to work. >>>>>>>>> The >>>>>>>>> activator keeps track of installed bundles and their camel >>>>>>>>> resources >>>>>>>>> (such >>>>>>>>> as components and languages). >>>>>>>>> >>>>>>>>> When I switch to Camel 2.4-SNAPSHOT I get the following exception: >>>>>>>>> >>>>>>>>> ... >>>>>>>>> Caused by: org.apache.camel.ResolveEndpointFailedException: Failed >>>>>>>>> to >>>>>>>>> resolve en >>>>>>>>> dpoint: >>>>>>>>> >>>>>>>>> >>>>>>>>> file://data/connect/sample/file2ftps?delay=1000&move=archive%2F%24%7Bdat >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> e%3Anow%3AyyyyMMdd%7D%2F%24%7Bfile%3Aname%7D&moveFailed=failed%2F%24%7Bfile%3Ana >>>>>>>>> >>>>>>>>> >>>>>>>>> me.noext%7D-%24%7Bdate%3Anow%3AyyyyMMddHHmmssSSS%7D.%24%7Bfile%3Aext%7D >>>>>>>>> due >>>>>>>>> to: >>>>>>>>> No language could be found for: file >>>>>>>>> at >>>>>>>>> >>>>>>>>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelCon >>>>>>>>> text.java:377) >>>>>>>>> ... >>>>>>>>> >>>>>>>>> It seems like Camel cannot find the "file" language (which is >>>>>>>>> supposed >>>>>>>>> to >>>>>>>>> be >>>>>>>>> mapped to the org.apache.camel.language.simple.SimpleLanguage >>>>>>>>> class). >>>>>>>>> I >>>>>>>>> then >>>>>>>>> tried to find the proper activator to find out why the language >>>>>>>>> doesn't >>>>>>>>> seem >>>>>>>>> to be registered. >>>>>>>>> >>>>>>>>> First, the camel-spring-osgi bundle does not seem to exist in camel >>>>>>>>> anymore. >>>>>>>>> Instead, the CamelContextFactory is now imported from the >>>>>>>>> camel-spring >>>>>>>>> bundle. camel-spring's activator (org.apache.camel.osgi.Activator) >>>>>>>>> is >>>>>>>>> now >>>>>>>>> part of the camel-spring component but when I look at it I can't >>>>>>>>> see >>>>>>>>> that >>>>>>>>> it >>>>>>>>> keeps track of anything but it's own BundleContext and Bundle >>>>>>>>> instance. >>>>>>>>> Then >>>>>>>>> who keeps track of the registered components, type converters, >>>>>>>>> languages >>>>>>>>> and >>>>>>>>> so forth? >>>>>>>>> >>>>>>>>> I must be missing something here. Can someone please explain to me >>>>>>>>> how >>>>>>>>> to >>>>>>>>> use Camel 2.4 in OSGi? I must say I've had a lot of problems with >>>>>>>>> the >>>>>>>>> combination of camel and OSGi before as well but I was hoping for >>>>>>>>> Camel's >>>>>>>>> OSGi support to get better - right now I'm a bit disillusioned :-( >>>>>>>>> >>>>>>>>> I noticed that camel-osgi still exists in Camel 2.4 but it doesn't >>>>>>>>> look >>>>>>>>> like >>>>>>>>> a bundle anymore. Maybe there is a secret here that I haven't fully >>>>>>>>> understood. >>>>>>>>> >>>>>>>>> /Bengt >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 2010/6/7 Claus Ibsen <claus.ib...@gmail.com> >>>>>>>>> >>>>>>>>> On Mon, Jun 7, 2010 at 4:30 PM, Bengt Rodehav <be...@rodehav.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Claus, >>>>>>>>> >>>>>>>>>> I have now tested my version using both passive and active (which >>>>>>>>>>> >>>>>>>>>>> requires a >>>>>>>>>>> >>>>>>>>>>> certificate) mode. I've tested against a free ftp server - >>>>>>>>>> Filezilla - >>>>>>>>>> >>>>>>>>>> and a >>>>>>>>>>> >>>>>>>>>>> commercial ftp server (that we often use) - Serv-u. It works >>>>>>>>>> fine. >>>>>>>>>> >>>>>>>>>> I haven't tested your version yet because it requires me to build >>>>>>>>>>> my >>>>>>>>>>> application against Camel version 2.4-SNAPSHOT instead of Camel >>>>>>>>>>> version >>>>>>>>>>> 2.3.0. To get this to work I need to get all the 2-4-SNAPSHOT >>>>>>>>>>> artifacts >>>>>>>>>>> >>>>>>>>>>> into >>>>>>>>>>> >>>>>>>>>>> my local Maven repository. I tried to do this by building Camel >>>>>>>>>> >>>>>>>>>> locally >>>>>>>>>>> >>>>>>>>>>> but >>>>>>>>>>> >>>>>>>>>>> I never seem to get it to build. Right now, I'm stuck with the >>>>>>>>>> >>>>>>>>>> following >>>>>>>>>>> Maven error message (I'm usng Maven 2.0.11): >>>>>>>>>>> >>>>>>>>>>> You can just cd into camel-ftp and build that jar. And then you >>>>>>>>>>> grab >>>>>>>>>>> >>>>>>>>>>> the camel-core jar as well. >>>>>>>>>>> >>>>>>>>>> And if you use spring then camel-spring .jar as well. Then you got >>>>>>>>>> what you need for 2.4-SNAPSHOTs. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Yeah Maven can be strange. Sometimes you need to nuke you local m2 >>>>>>>>>> repo >>>>>>>>>> cache. >>>>>>>>>> And I use maven 2.0.9. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [INFO] Writing OBR metadata >>>>>>>>>> >>>>>>>>>> [INFO] >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>>>> [INFO] Building Camel :: Jetty >>>>>>>>>>> [INFO] task-segment: [clean, install] >>>>>>>>>>> [INFO] >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>>>> [INFO] [clean:clean] >>>>>>>>>>> Downloading: >>>>>>>>>>> >>>>>>>>>>> https://repository.apache.org/content/repositories/releases//com/su >>>>>>>>>>> n/mail/all/1.4.3/all-1.4.3.pom >>>>>>>>>>> [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in >>>>>>>>>>> repository >>>>>>>>>>> apache >>>>>>>>>>> .releases ( >>>>>>>>>>> https://repository.apache.org/content/repositories/releases/ >>>>>>>>>>> ) >>>>>>>>>>> Downloading: >>>>>>>>>>> >>>>>>>>>>> http://svn.apache.org/repos/asf/servicemix/m2-repo/com/sun/mail/all >>>>>>>>>>> /1.4.3/all-1.4.3.pom >>>>>>>>>>> [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in >>>>>>>>>>> repository >>>>>>>>>>> servic >>>>>>>>>>> emix (http://svn.apache.org/repos/asf/servicemix/m2-repo) >>>>>>>>>>> Downloading: >>>>>>>>>>> >>>>>>>>>>> http://jansi.fusesource.org/repo/release/com/sun/mail/all/1.4.3/all >>>>>>>>>>> -1.4.3.pom >>>>>>>>>>> [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in >>>>>>>>>>> repository >>>>>>>>>>> jansi. >>>>>>>>>>> release.m2 (http://jansi.fusesource.org/repo/release) >>>>>>>>>>> Downloading: >>>>>>>>>>> >>>>>>>>>>> http://repository.ops4j.org/maven2/com/sun/mail/all/1.4.3/all-1.4.3 >>>>>>>>>>> .pom >>>>>>>>>>> [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in >>>>>>>>>>> repository >>>>>>>>>>> ops4j >>>>>>>>>>> (http://repository.ops4j.org/maven2) >>>>>>>>>>> Downloading: >>>>>>>>>>> >>>>>>>>>>> http://repo1.maven.org/maven2/com/sun/mail/all/1.4.3/all-1.4.3.pom >>>>>>>>>>> [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in >>>>>>>>>>> repository >>>>>>>>>>> centra >>>>>>>>>>> l (http://repo1.maven.org/maven2) >>>>>>>>>>> [INFO] >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>>>> [ERROR] BUILD ERROR >>>>>>>>>>> [INFO] >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>>>> [INFO] Error building POM (may not be this project's POM). >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Project ID: javax.mail:mail:jar:null >>>>>>>>>>> >>>>>>>>>>> Reason: Cannot find parent: com.sun.mail:all for project: >>>>>>>>>>> javax.mail:mail:jar:nu >>>>>>>>>>> ll for project javax.mail:mail:jar:null >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> [INFO] >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>>>> [INFO] For more information, run Maven with the -e switch >>>>>>>>>>> [INFO] >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>>>> [INFO] Total time: 4 minutes 26 seconds >>>>>>>>>>> [INFO] Finished at: Mon Jun 07 12:59:05 CEST 2010 >>>>>>>>>>> [INFO] Final Memory: 231M/483M >>>>>>>>>>> [INFO] >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> /Bengt >>>>>>>>>>> >>>>>>>>>>> 2010/6/5 Bengt Rodehav <be...@rodehav.com> >>>>>>>>>>> >>>>>>>>>>> God you're fast. I made my own attempts and attached diff files >>>>>>>>>>> to >>>>>>>>>>> the >>>>>>>>>>> JIRA >>>>>>>>>>> issue you created. I also added a couple of comments/suggestions >>>>>>>>>>> to >>>>>>>>>>> the >>>>>>>>>>> >>>>>>>>>>> issue. >>>>>>>>>>> >>>>>>>>>>>> In short I believe that it is probably easier for the >>>>>>>>>>>> user/developer >>>>>>>>>>>> if >>>>>>>>>>>> >>>>>>>>>>>> it >>>>>>>>>>>> >>>>>>>>>>>> is enough to specify whether a secure data channel should be >>>>>>>>>>> used >>>>>>>>>>> or >>>>>>>>>>> not >>>>>>>>>>> >>>>>>>>>>> (the default should be true). Adding more detailed options, like >>>>>>>>>>> >>>>>>>>>>>> you >>>>>>>>>>>> >>>>>>>>>>>> did, is >>>>>>>>>>>> >>>>>>>>>>>> of course just a benefit as long as it is possible to also >>>>>>>>>>> configure >>>>>>>>>>> it >>>>>>>>>>> the >>>>>>>>>>> easy way (like I described). >>>>>>>>>>> >>>>>>>>>>> I haven't tested your changes yet - will do. I have done some >>>>>>>>>>> >>>>>>>>>>>> limited >>>>>>>>>>>> testing with my own version, but only in passive mode. If you >>>>>>>>>>>> use >>>>>>>>>>>> a >>>>>>>>>>>> >>>>>>>>>>>> secure >>>>>>>>>>>> >>>>>>>>>>>> data channel in active mode one must first create a >>>>>>>>>>> public/private >>>>>>>>>>> key >>>>>>>>>>> pair >>>>>>>>>>> for the ftps client to use and I haven't gotten around to testing >>>>>>>>>>> that >>>>>>>>>>> yet. >>>>>>>>>>> /Bengt >>>>>>>>>>> >>>>>>>>>>> 2010/6/4 Claus Ibsen <claus.ib...@gmail.com> >>>>>>>>>>> >>>>>>>>>>>> Hi >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Jun 4, 2010 at 3:42 PM, Bengt Rodehav < >>>>>>>>>>>> be...@rodehav.com >>>>>>>>>>>> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> OK, will try to do that sometime this weekend. >>>>>>>>>>>> >>>>>>>>>>> Will be in touch, >>>>>>>>>>> >>>>>>>>>>>> I was one step ahead of you. I created the ticket and took a >>>>>>>>>>>>> >>>>>>>>>>>>>> stab >>>>>>>>>>>>>> at >>>>>>>>>>>>>> >>>>>>>>>>>>>> resolving it. >>>>>>>>>>>>>> >>>>>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2790 >>>>>>>>>>>>> >>>>>>>>>>>>> Can you try with the latest source code? And maybe if there is >>>>>>>>>>>>> still >>>>>>>>>>>>> some issue then work on a patch from there. >>>>>>>>>>>>> Would be lovely with an unit test, but the test ftp server we >>>>>>>>>>>>> use >>>>>>>>>>>>> cannot understand the secure data transfer. >>>>>>>>>>>>> >>>>>>>>>>>>> Anyway would be awesome if you could test it on your real >>>>>>>>>>>>> systems. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> /Bengt >>>>>>>>>>>>> >>>>>>>>>>>>> 2010/6/4 Claus Ibsen <claus.ib...@gmail.com> >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi >>>>>>>>>>>>>> >>>>>>>>>>>>>> Well spotted. Do you mind creating a JIRA ticket and link to >>>>>>>>>>>>>> >>>>>>>>>>>>>>> this >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> post >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> using nabble etc. >>>>>>>>>>>>>> >>>>>>>>>>>>> And you may even want to contribute a patch :) >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Jun 4, 2010 at 11:34 AM, Bengt Rodehav < >>>>>>>>>>>>>>> be...@rodehav.com >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I'm using camel-ftp for secure ftps communication. I need to >>>>>>>>>>>>>> be >>>>>>>>>>>>>> >>>>>>>>>>>>>> able >>>>>>>>>>>>>> >>>>>>>>>>>>>>> to >>>>>>>>>>>>>>> >>>>>>>>>>>>>> connect to a wide range of ftps servers in both explicit and >>>>>>>>>>>>> implicit >>>>>>>>>>>>> >>>>>>>>>>>>>> mode. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> I have encountered problems using camel-ftp for ftps >>>>>>>>>>>>> >>>>>>>>>>>> communication >>>>>>>>>>>> >>>>>>>>>>>> in >>>>>>>>>>>>> >>>>>>>>>>>>>> implicit mode. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> Some ftps servers require that the file transfer is encrypted >>>>>>>>>>>>> >>>>>>>>>>>> (not >>>>>>>>>>>> >>>>>>>>>>>> just >>>>>>>>>>>>> >>>>>>>>>>>>>> the >>>>>>>>>>>>>>> >>>>>>>>>>>>>> commands). This is of course very natural and is the reason >>>>>>>>>>>>>> why >>>>>>>>>>>>>> >>>>>>>>>>>>>>> ftps >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> is >>>>>>>>>>>>>>> >>>>>>>>>>>>>> chosen in the first place. However, commons-net (which >>>>>>>>>>>>> camel-ftp >>>>>>>>>>>>> uses) >>>>>>>>>>>>> >>>>>>>>>>>>>> does >>>>>>>>>>>>>>> >>>>>>>>>>>>>> (for some reason) not by default setup a secure channel for >>>>>>>>>>>>>> >>>>>>>>>>>>>>> file >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> transfers. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> It has to be requested by code similar to the following: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> ftpsClient.execPBSZ(0); >>>>>>>>>>>>>>>> ftpsClient.execPROT("P"); >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I suggest to add an option to camel-ftp, regarding ftps, to >>>>>>>>>>>>>>>> make >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> it >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> possible >>>>>>>>>>>>>>> >>>>>>>>>>>>>> to specify whether the data channel will be encrypted or not. >>>>>>>>>>>>> Encrypted >>>>>>>>>>>>> >>>>>>>>>>>>>> should be default. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> When looking at the code in camel-ftp it seems like there is >>>>>>>>>>>>>> no >>>>>>>>>>>>>> >>>>>>>>>>>>>>> special >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> handling during connect for ftps compared to ftp. Thus >>>>>>>>>>>>>>> there is >>>>>>>>>>>>>>> >>>>>>>>>>>>>> no >>>>>>>>>>>>>> >>>>>>>>>>>>>> natural >>>>>>>>>>>>>> >>>>>>>>>>>>>>> place to put the above code. One way is to add something >>>>>>>>>>>>>>> like >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> following >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> at the end of the method "connect" in the class >>>>>>>>>>>>>>> "FtpOperations": >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> if(client instanceof FTPSClient) { >>>>>>>>>>>>>>>> FTPSClient ftpsClient = (FTPSClient)client; >>>>>>>>>>>>>>>> try { >>>>>>>>>>>>>>>> if (useSecureDataChannel) { // useSecureDataChannel should >>>>>>>>>>>>>>>> be >>>>>>>>>>>>>>>> initialized from the configuration somehow >>>>>>>>>>>>>>>> ftpsClient.execPBSZ(0); >>>>>>>>>>>>>>>> ftpsClient.execPROT("P"); >>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> } catch (SSLException e) { >>>>>>>>>>>>>>>> throw new >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> GenericFileOperationFailedException(client.getReplyCode(), >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> client.getReplyString(), e.getMessage(), e); >>>>>>>>>>>>>>> >>>>>>>>>>>>>> } catch (IOException e) { >>>>>>>>>>>>>> >>>>>>>>>>>>>>> throw new >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> GenericFileOperationFailedException(client.getReplyCode(), >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> client.getReplyString(), e.getMessage(), e); >>>>>>>>>>>>>>> >>>>>>>>>>>>>> } >>>>>>>>>>>>>> >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Am I the only one having problems with this? Maybe there is >>>>>>>>>>>>>>>> a >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> workaround >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> that I haven't figured out. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> /Bengt >>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Claus Ibsen >>>>>>>>>>>>>>> Apache Camel Committer >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/ >>>>>>>>>>>>>>> Open Source Integration: http://fusesource.com >>>>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Claus Ibsen >>>>>>>>>>>>>> >>>>>>>>>>>>> Apache Camel Committer >>>>>>>>>>>>> >>>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/ >>>>>>>>>>>>> Open Source Integration: http://fusesource.com >>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> >>>>>>>>>>>>> Claus Ibsen >>>>>>>>>>>> >>>>>>>>>>> Apache Camel Committer >>>>>>>>>> >>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/ >>>>>>>>>> Open Source Integration: http://fusesource.com >>>>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>>>> Twitter: http://twitter.com/davsclaus >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >> >