Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.2.0
-
None
Description
When defining and running a vsf:poller using an sftp URL the following exception is thrown:
java.io.IOException: Failed to initialize file system manager: org.apache.commons.vfs.FileSystemException: Badly formed URI "sftp://user:somepw@111.111.111.111/HOME/OUT/".
at org.apache.servicemix.vfs.FileObjectResolver.resolveToFileObject(FileObjectResolver.java:66)
at org.apache.servicemix.vfs.VFSPollingEndpoint.poll(VFSPollingEndpoint.java:229)
at org.apache.servicemix.common.endpoints.PollingEndpoint$PollSchedulerTask$1.run(PollingEndpoint.java:202)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
configuration used:
<?xml version="1.0"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:proj="http://servicemix.org/demo/"
xmlns:file="http://servicemix.apache.org/file/1.0"
xmlns:vfs="http://servicemix.apache.org/vfs/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://servicemix.apache.org/file/1.0 http://servicemix.apache.org/schema/servicemix-file-3.1.2.xsd
http://servicemix.apache.org/vfs/1.0 http://servicemix.apache.org/schema/servicemix-vfs-2009.01.xsd">
<file:sender service="proj:fileSender" endpoint="endpoint"
directory="file:///C:/Temp/outbox" autoCreateDirectory="true">
<property name="marshaler">
<bean class="org.apache.servicemix.components.util.BinaryFileMarshaler" />
</property>
</file:sender>
<vfs:poller service="proj:filePoller" endpoint="poller"
path="sftp://user:somepw@111.111.111.111/HOME/OUT" targetService="proj:fileSender" period="10000"
deleteFile="true" recursive="false">
<property name="marshaler">
<bean class="org.apache.servicemix.components.util.BinaryFileMarshaler" />
</property>
</vfs:poller>
<bean class="org.apache.servicemix.common.osgi.EndpointExporter" />
</beans>
After discussing this in the forum it seems that the sftp protocol handler for vfs is not registered. See http://old.nabble.com/Exception-when-using-vsf%3Apoller-with-sftp-%28ServiceMix-4.2%29-tp28700187p28706201.html