Details
-
Fix
-
Status: Approved (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
Description
If you use ftp or sftp to connect with the source or target server then normally the classes com.sos.VirtualFileSystem.FTP.SOSVfsFtp or com.sos.VirtualFileSystem.SFTP.SOSVfsSFtp are used automatically without any setting.
Optionally you can use JCraft for sftp when you set the parameter source_loadClassName or target_loadClassName with com.sos.VirtualFileSystem.SFTP.SOSVfsSFtpFileJCraft.
Now you must always set these parameters otherwise you get a java.lang.ClassNotFoundException
java.lang.ClassNotFoundException: at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at com.sos.VirtualFileSystem.Factory.VFSFactory.getDynamicVFSHandler(VFSFactory.java:319) at com.sos.VirtualFileSystem.Factory.VFSFactory.getHandler(VFSFactory.java:225) at com.sos.DataExchange.SOSDataExchangeEngine.DataSourceClient(SOSDataExchangeEngine.java:277) at com.sos.DataExchange.SOSDataExchangeEngine.transfer(SOSDataExchangeEngine.java:372) at com.sos.DataExchange.SOSDataExchangeEngine.Execute(SOSDataExchangeEngine.java:171) at com.sos.DataExchange.SOSDataExchangeEngineTest.executeGenericIniFile(SOSDataExchangeEngineTest.java:2367) at com.sos.DataExchange.SOSDataExchangeEngineTest.testWithoutLoadClassName(SOSDataExchangeEngineTest.java:2317) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
JUnit-Test: testWithoutLoadClassName in com.sos.DataExchange.SOSDataExchangeEngineTest