FTP connector

View: New views
8 Messages — Rating Filter:   Alert me  

FTP connector

by jlu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Does anybody successfully run this simple FTP example as it is in both mule 2.0.0 and 2.0.1? The example is provided by book "Open Source ESBs in Action". I always get the error messages following the enclosed xml. I saw quite a few postings on this problem. Does it get fixed or I did something wrong? Any help will be appreciated!

Jeffrey Lu


mule xmlns="http://www.mulesource.org/schema/mule/core/2.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:file="http://www.mulesource.org/schema/mule/file/2.0"
    xmlns:ftp="http://www.mulesource.org/schema/mule/ftp/2.0"
    xsi:schemaLocation="
    http://www.mulesource.org/schema/mule/core/2.0 http://www.mulesource.org/schema/mule/core/2.0/mule.xsd
        http://www.mulesource.org/schema/mule/file/2.0 http://www.mulesource.org/schema/mule/file/2.0/mule-file.xsd
        http://www.mulesource.org/schema/mule/ftp/2.0 http://www.mulesource.org/schema/mule/ftp/2.0/mule-ftp.xsd">

  <ftp:connector name="ftpConnector"
      validateConnections="true" />

  <model name="file-model">
    <service name="file-reader-ftp-writer">
      <inbound>
        <file:inbound-endpoint
            path="test-data/in" />
      </inbound>
      <outbound>
        <outbound-pass-through-router>
          <ftp:outbound-endpoint
            user="mule5"                      
            password="topia1"
            host="localhost"
            port="21"
            outputPattern="${ORIGINALNAME}-${SYSTIME}.dat"
            passive="false" />
        </outbound-pass-through-router>
      </outbound>
    </service>
  </model>
</mule>



ERROR 2008-05-15 15:51:59,890 [ftpConnector.dispatcher.10] org.mule.DefaultExceptionStrategy:
********************************************************************************
Message               : Streaming failed. Could not get output stream. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=ftp://mule5:<password>@localhost, connector=FtpConnector{this=4265ae, started=true, initialised=true, name='ftpConnector', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedProtocols=[ftp], serviceOverrides=null}, transformer=[], name='endpoint.ftp.localhost.21', properties={passive=false, outputPattern=${ORIGINALNAME}-${SYSTIME}.dat}, transactionConfig=Transaction{factory=null, action=NONE, timeout=0}, filter=null, deleteUnacceptedMessages=false, securityFilter=null, synchronous=false, initialState=started, remoteSync=false, remoteSyncTimeout=3000, endpointEncoding=UTF-8}. Message payload is of type: ReceiverFileInputStream
Type                  : org.mule.api.transport.DispatchException
Code                  : MULE_ERROR-42999
JavaDoc               : http://mule.mulesource.org/docs/apidocs/org/mule/api/transport/DispatchException.html
Payload               : org.mule.transport.file.ReceiverFileInputStream@b49448
********************************************************************************
Exception stack is:
1. Ftp error: 530 (java.io.IOException)
  org.mule.transport.ftp.FtpConnectionFactory:50 (http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html)
2. Streaming failed. Could not get output stream. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=ftp://mule5:<password>@localhost, connector=FtpConnector{this=4265ae, started=true, initialised=true, name='ftpConnector', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedProtocols=[ftp], serviceOverrides=null}, transformer=[], name='endpoint.ftp.localhost.21', properties={passive=false, outputPattern=${ORIGINALNAME}-${SYSTIME}.dat}, transactionConfig=Transaction{factory=null, action=NONE, timeout=0}, filter=null, deleteUnacceptedMessages=false, securityFilter=null, synchronous=false, initialState=started, remoteSync=false, remoteSyncTimeout=3000, endpointEncoding=UTF-8}. Message payload is of type: ReceiverFileInputStream (org.mule.api.transport.DispatchException)
  org.mule.transport.ftp.FtpConnector:538 (http://mule.mulesource.org/docs/apidocs/org/mule/api/transport/DispatchException.html)
********************************************************************************
Root Exception stack trace:
java.io.IOException: Ftp error: 530
        at org.mule.transport.ftp.FtpConnectionFactory.makeObject(FtpConnectionFactory.java:50)
        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:974)
        at org.mule.transport.ftp.FtpConnector.getFtp(FtpConnector.java:157)
        at org.mule.transport.ftp.FtpConnector.createFtpClient(FtpConnector.java:578)
        at org.mule.transport.ftp.FtpConnector.getOutputStream(FtpConnector.java:504)
        at org.mule.transport.ftp.FtpMessageDispatcher.doDispatch(FtpMessageDispatcher.java:43)
        at org.mule.transport.AbstractMessageDispatcher$Worker.run(AbstractMessageDispatcher.java:262)
        at org.mule.work.WorkerContext.run(WorkerContext.java:310)
        at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
        at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
        at java.lang.Thread.run(Thread.java:613)

Re: FTP connector

by DON_SHOOT_ME :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I am no expert on things but why don't you try with the streaming=false atribute set
That case you get a byte array as the payload

jlu wrote:
Hi,

Does anybody successfully run this simple FTP example as it is in both mule 2.0.0 and 2.0.1? The example is provided by book "Open Source ESBs in Action". I always get the error messages following the enclosed xml. I saw quite a few postings on this problem. Does it get fixed or I did something wrong? Any help will be appreciated!

Jeffrey Lu


mule xmlns="http://www.mulesource.org/schema/mule/core/2.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:file="http://www.mulesource.org/schema/mule/file/2.0"
    xmlns:ftp="http://www.mulesource.org/schema/mule/ftp/2.0"
    xsi:schemaLocation="
    http://www.mulesource.org/schema/mule/core/2.0 http://www.mulesource.org/schema/mule/core/2.0/mule.xsd
        http://www.mulesource.org/schema/mule/file/2.0 http://www.mulesource.org/schema/mule/file/2.0/mule-file.xsd
        http://www.mulesource.org/schema/mule/ftp/2.0 http://www.mulesource.org/schema/mule/ftp/2.0/mule-ftp.xsd">

  <ftp:connector name="ftpConnector"
      validateConnections="true" />

  <model name="file-model">
    <service name="file-reader-ftp-writer">
      <inbound>
        <file:inbound-endpoint
            path="test-data/in" />
      </inbound>
      <outbound>
        <outbound-pass-through-router>
          <ftp:outbound-endpoint
            user="mule5"                      
            password="topia1"
            host="localhost"
            port="21"
            outputPattern="${ORIGINALNAME}-${SYSTIME}.dat"
            passive="false" />
        </outbound-pass-through-router>
      </outbound>
    </service>
  </model>
</mule>



ERROR 2008-05-15 15:51:59,890 [ftpConnector.dispatcher.10] org.mule.DefaultExceptionStrategy:
********************************************************************************
Message               : Streaming failed. Could not get output stream. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=ftp://mule5:<password>@localhost, connector=FtpConnector{this=4265ae, started=true, initialised=true, name='ftpConnector', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedProtocols=[ftp], serviceOverrides=null}, transformer=[], name='endpoint.ftp.localhost.21', properties={passive=false, outputPattern=${ORIGINALNAME}-${SYSTIME}.dat}, transactionConfig=Transaction{factory=null, action=NONE, timeout=0}, filter=null, deleteUnacceptedMessages=false, securityFilter=null, synchronous=false, initialState=started, remoteSync=false, remoteSyncTimeout=3000, endpointEncoding=UTF-8}. Message payload is of type: ReceiverFileInputStream
Type                  : org.mule.api.transport.DispatchException
Code                  : MULE_ERROR-42999
JavaDoc               : http://mule.mulesource.org/docs/apidocs/org/mule/api/transport/DispatchException.html
Payload               : org.mule.transport.file.ReceiverFileInputStream@b49448
********************************************************************************
Exception stack is:
1. Ftp error: 530 (java.io.IOException)
  org.mule.transport.ftp.FtpConnectionFactory:50 (http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html)
2. Streaming failed. Could not get output stream. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=ftp://mule5:<password>@localhost, connector=FtpConnector{this=4265ae, started=true, initialised=true, name='ftpConnector', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedProtocols=[ftp], serviceOverrides=null}, transformer=[], name='endpoint.ftp.localhost.21', properties={passive=false, outputPattern=${ORIGINALNAME}-${SYSTIME}.dat}, transactionConfig=Transaction{factory=null, action=NONE, timeout=0}, filter=null, deleteUnacceptedMessages=false, securityFilter=null, synchronous=false, initialState=started, remoteSync=false, remoteSyncTimeout=3000, endpointEncoding=UTF-8}. Message payload is of type: ReceiverFileInputStream (org.mule.api.transport.DispatchException)
  org.mule.transport.ftp.FtpConnector:538 (http://mule.mulesource.org/docs/apidocs/org/mule/api/transport/DispatchException.html)
********************************************************************************
Root Exception stack trace:
java.io.IOException: Ftp error: 530
        at org.mule.transport.ftp.FtpConnectionFactory.makeObject(FtpConnectionFactory.java:50)
        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:974)
        at org.mule.transport.ftp.FtpConnector.getFtp(FtpConnector.java:157)
        at org.mule.transport.ftp.FtpConnector.createFtpClient(FtpConnector.java:578)
        at org.mule.transport.ftp.FtpConnector.getOutputStream(FtpConnector.java:504)
        at org.mule.transport.ftp.FtpMessageDispatcher.doDispatch(FtpMessageDispatcher.java:43)
        at org.mule.transport.AbstractMessageDispatcher$Worker.run(AbstractMessageDispatcher.java:262)
        at org.mule.work.WorkerContext.run(WorkerContext.java:310)
        at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
        at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
        at java.lang.Thread.run(Thread.java:613)

Re: FTP connector

by Ove Gram Nipen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, 2008-05-15 at 16:39 -0700, jlu wrote:
> Hi,

Hi, jlu.

> I always get the error messages following the enclosed xml. I saw
> quite a few postings on this problem. Does it get fixed or I did something
> wrong? Any help will be appreciated!

>           <ftp:outbound-endpoint
>             user="mule5"                      
>             password="topia1"
>             host="localhost"
>             port="21"
>             outputPattern="${ORIGINALNAME}-${SYSTIME}.dat"
>             passive="false" />

> Exception stack is:
> 1. Ftp error: 530 (java.io.IOException)
>   org.mule.transport.ftp.FtpConnectionFactory:50
> (http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html)


Error 530 means login incorrect. Have you checked that the user mule5
can log on to localhost by ftp using password topia1? You can do this by
using a stand alone ftp client.

--
Best regards,
Ove Gram Nipen

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Re: FTP connector

by jlu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Ove Gram Nipen,

I managed to get pass the error 530 last night , thought the "Streaming failed. Could not get output stream" is still there, and then got error 500, which I believe is the login problem according to the log (Failed to change working directory to .). I can do command line "ftp localhost" w/o any problem by the user/password pair. Is there anything else I need to set up on ftp server side? On OS X, there is a very easy management tool to turn ftp access on/off. I also tried to open the entire directory to "777" w/o luck.

Thank you for the help,

Jeffrey

Exception stack is:
1. Failed to change working directory to . Ftp error: 500 (java.io.IOException)
  org.mule.transport.ftp.FtpConnector:593 (http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html)
2. Streaming failed. Could not get output stream. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=ftp://mule5:<password>@localhost, connector=FtpConnector{this=9afa26, started=true, initialised=true, name='connector.ftp.0', disposed=false, numberOfConcurrentTransactedReceivers=4, createMultipleTransactedReceivers=true, connected=true, supportedProtocols=[ftp], serviceOverrides=null}, transformer=[], name='endpoint.ftp.localhost.21', properties={passive=false, outputPattern=Copy-Of-${ORIGINALNAME}-${SYSTIME}.dat, validateConnections=true}, transactionConfig=Transaction{factory=null, action=NONE, timeout=0}, filter=null, deleteUnacceptedMessages=false, securityFilter=null, synchronous=false, initialState=started, remoteSync=false, remoteSyncTimeout=3000, endpointEncoding=UTF-8}. Message payload is of type: byte[] (org.mule.api.transport.DispatchException)
  org.mule.transport.ftp.FtpConnector:538 (http://mule.mulesource.org/docs/apidocs/org/mule/api/transport/DispatchException.html)
********************************************************************************
Root Exception stack trace:
java.io.IOException: Failed to change working directory to . Ftp error: 500
        at org.mule.transport.ftp.FtpConnector.createFtpClient(FtpConnector.java:593)
        at org.mule.transport.ftp.FtpConnector.getOutputStream(FtpConnector.java:504)
        at org.mule.transport.ftp.FtpMessageDispatcher.doDispatch(FtpMessageDispatcher.java:43)
        at org.mule.transport.AbstractMessageDispatcher$Worker.run(AbstractMessageDispatcher.java:261)
        at org.mule.work.WorkerContext.run(WorkerContext.java:310)
        at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
        at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
        at java.lang.Thread.run(Thread.java:613)


Error 530 means login incorrect. Have you checked that the user mule5
can log on to localhost by ftp using password topia1? You can do this by
using a stand alone ftp client.

--
Best regards,
Ove Gram Nipen

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email





Re: FTP connector

by Andrew Perepelytsya :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Maybe you can try the path attribute on the endpoint? Check http://mule.mulesource.org/display/MULE2USER/FTP+Transport

Andrew

Re: FTP connector

by jlu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Andrew,

It works beautifully. I wish that it should have just been written in the book or instruction. I really appreciate your help.

Jeffrey

Andrew Perepelytsya wrote:
Maybe you can try the path attribute on the endpoint? Check
http://mule.mulesource.org/display/MULE2USER/FTP+Transport

Andrew

Re: FTP connector

by Andrew Perepelytsya :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

You are not being fair :) It is in the official documentation page.

Andrew

On Fri, May 16, 2008 at 5:19 PM, jlu <jlu@...> wrote:

Hi Andrew,

It works beautifully. I wish that it should have just been written in the
book or instruction. I really appreciate your help.

Jeffrey


Andrew Perepelytsya wrote:
>
> Maybe you can try the path attribute on the endpoint? Check
> http://mule.mulesource.org/display/MULE2USER/FTP+Transport
>
> Andrew
>
>

--
View this message in context: http://www.nabble.com/FTP-connector-tp17264820p17284433.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email




Re: FTP connector

by MICHAELMCGRADY :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I would be careful not to make any public complaints about the book.  
We don't want to alienate people, especially those that have done us  
favors.

MG

 From my phone: Michael McGrady

On May 16, 2008, at 14:19, jlu <jlu@...> wrote:

>
> Hi Andrew,
>
> It works beautifully. I wish that it should have just been written  
> in the
> book or instruction. I really appreciate your help.
>
> Jeffrey
>
>
> Andrew Perepelytsya wrote:
>>
>> Maybe you can try the path attribute on the endpoint? Check
>> http://mule.mulesource.org/display/MULE2USER/FTP+Transport
>>
>> Andrew
>>
>>
>
> --
> View this message in context: http://www.nabble.com/FTP-connector-tp17264820p17284433.html
> Sent from the Mule - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email