Logs are as below. password is
m1@123.
DEBUG 2011-08-11 20:31:20,145 [[myapp].sftpConnector2.receiver.1] org.mule.transport.sftp.SftpMessageReceiver: Pooling. Called at endpoint
sftp://user1:m1@123@<IP Address>:<port>//folder1/
DEBUG 2011-08-11 20:31:20,145 [[myapp].sftpConnector2.receiver.1] org.mule.transport.sftp.SftpReceiverRequesterUtil: Checking files at endpoint
sftp://user1:m1@123@<IP Address>:<port>//folder1/
DEBUG 2011-08-11 20:31:20,145 [[myapp].sftpConnector2.receiver.1] org.mule.transport.sftp.SftpConnectionFactory: Using host: null
ERROR 2011-08-11 20:31:20,145 [[myapp].sftpConnector2.receiver.1] org.mule.transport.sftp.SftpClient: Error during login to
null@null
com.jcraft.jsch.JSchException: username must not be null.
at com.jcraft.jsch.JSch.getSession(JSch.java:140)
at com.jcraft.jsch.JSch.getSession(JSch.java:137)
at org.mule.transport.sftp.SftpClient.login(SftpClient.java:120)
at org.mule.transport.sftp.SftpConnectionFactory.createClient(SftpConnectionFactory.java:89)
at org.mule.transport.sftp.SftpConnector.createSftpClient(SftpConnector.java:190)
at org.mule.transport.sftp.SftpConnector.createSftpClient(SftpConnector.java:173)
at org.mule.transport.sftp.SftpReceiverRequesterUtil.getAvailableFiles(SftpReceiverRequesterUtil.java:66)
at org.mule.transport.sftp.SftpMessageReceiver.poll(SftpMessageReceiver.java:61)
at org.mule.transport.PollingReceiverWorker.poll(PollingReceiverWorker.java:79)
at org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:50)
at org.mule.work.WorkerContext.run(WorkerContext.java:309)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
at java.lang.Thread.run(Thread.java:662)
ERROR 2011-08-11 20:31:20,145 [[myapp].sftpConnector2.receiver.1] org.mule.transport.sftp.SftpMessageReceiver: Error in poll
java.io.IOException: Error during login to
null@null: username must not be null.
at org.mule.transport.sftp.SftpClient.logAndThrowLoginError(SftpClient.java:188)
at org.mule.transport.sftp.SftpClient.login(SftpClient.java:134)
at org.mule.transport.sftp.SftpConnectionFactory.createClient(SftpConnectionFactory.java:89)
at org.mule.transport.sftp.SftpConnector.createSftpClient(SftpConnector.java:190)
at org.mule.transport.sftp.SftpConnector.createSftpClient(SftpConnector.java:173)
at org.mule.transport.sftp.SftpReceiverRequesterUtil.getAvailableFiles(SftpReceiverRequesterUtil.java:66)
at org.mule.transport.sftp.SftpMessageReceiver.poll(SftpMessageReceiver.java:61)
at org.mule.transport.PollingReceiverWorker.poll(PollingReceiverWorker.java:79)
at org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:50)
at org.mule.work.WorkerContext.run(WorkerContext.java:309)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
at java.lang.Thread.run(Thread.java:662)
ERROR 2011-08-11 20:31:20,146 [[myapp].sftpConnector2.receiver.1] org.mule.exception.DefaultSystemExceptionStrategy: Caught exception in Exception Strategy: Error during login to
null@null: username must not be null.
java.io.IOException: Error during login to
null@null: username must not be null.
at org.mule.transport.sftp.SftpClient.logAndThrowLoginError(SftpClient.java:188)
at org.mule.transport.sftp.SftpClient.login(SftpClient.java:134)
at org.mule.transport.sftp.SftpConnectionFactory.createClient(SftpConnectionFactory.java:89)
at org.mule.transport.sftp.SftpConnector.createSftpClient(SftpConnector.java:190)
at org.mule.transport.sftp.SftpConnector.createSftpClient(SftpConnector.java:173)
at org.mule.transport.sftp.SftpReceiverRequesterUtil.getAvailableFiles(SftpReceiverRequesterUtil.java:66)
at org.mule.transport.sftp.SftpMessageReceiver.poll(SftpMessageReceiver.java:61)
at org.mule.transport.PollingReceiverWorker.poll(PollingReceiverWorker.java:79)
at org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:50)
at org.mule.work.WorkerContext.run(WorkerContext.java:309)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
at java.lang.Thread.run(Thread.java:662)
If I change the password to m1123 or m1%40123 it starts working. %40 is the encoded string for @.
The workaround for clients would be to change the password to without @ or use %40 instead of @.