You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by simonglaubitz <si...@web.de> on 2014/06/02 13:36:24 UTC

Apache Servicemix 5.0.0: camel-ftp: fileExist=Append not working

I am currently working on a project to upgrade Apache Servicemix 3.3.2
installation to version 5.0.0, that comes along with Apache Camel 2.12.3.

In my RouteBuilder I have defined one simple route that is supposed to take
an MQ message and append the content of the message to a file on an FTP
server:

@Override
        public void configure() throws Exception {
                from("mqseries:queue:TEST.MESSAGE")
                       
.to("ftp://testuser@testserver/test?password=testpassword&fileName=test.txt&fileExist=Append");
        }

With Apache Servicemix 3.3.2 this route worked fine. With Apache Servicemix
5.0.0 I am getting the following exception: 550 Permission denied. But the
credentials in the FTP connection string are absolutely correct and I am
only getting the exception when the file (test.txt) already exists on FTP
server side. When I delete the file on FTP server side and run the process
again I do not get an exception and the file is created on remote
destination. But when it comes to appending a string to the existing file
this exception is thrown:

Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                                                                       
Elapsed (ms)
[route10           ] [route10           ] [mqseries://queue:TEST.MESSAGE                                           
] [        43]
[route10           ] [to25              ]
[ftp://testuser@testserver/test?password=testpassword&fileName=test.txt&fi]
[        42]

Exchange
---------------------------------------------------------------------------------------------------------------------------------------
Exchange[
        Id                  ID-DUSNIST113-58008-1401706678781-2-1
        ExchangePattern     InOnly
        Headers            
{breadcrumbId=ID:414d5120514949552e4d512e4d414e413d77de5222fedf02,
CamelFtpReplyCode=550, CamelFtpReplyString=550 Permission denied
, CamelRedelivered=false, CamelRedeliveryCounter=0, JMS_IBM_Format=MQSTR   ,
JMS_IBM_MQMD_CodedCharSetId=1208, JMS_IBM_MQMD_Encoding=546,
JMS_IBM_MsgType=8, JMS_IBM_PutApplType=28, JMS_IBM_PutDate=20140602,
JMS_IBM_PutTime=11034472, JMSCorrelationID=null, JMSDeliveryMode=1,
JMSDestination=null, JMSExpiration=0,
JMSMessageID=ID:414d5120514949552e4d512e4d414e413d77de5222fedf02,
JMSPriority=0, JMSRedelivered=false, JMSReplyTo=null,
JMSTimestamp=1401707024720, JMSType=null, JMSXAppID=WebSphere MQ Client for
Java, JMSXDeliveryCount=1, JMSXGroupID=null, JMSXUserID=MUSR_MQADMIN}
        BodyType            String
        Body                test
]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.component.file.GenericFileOperationFailedException: Error
writing file [test/test.txt]
        at
org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:280)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:166)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.component.file.remote.RemoteFileProducer.process(RemoteFileProducer.java:49)[220:org.apache.camel.camel-ftp:2.12.3]
        at
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:132)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:307)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:127)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:103)[199:org.apache.camel.camel-jms:2.12.3]
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1103)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1095)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:992)[157:org.springframework.jms:3.2.4.RELEASE]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_25]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_25]
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_25]
02.06.2014 13:03:44,932 | WARN  | Camel (ftpAgent) thread #6 -
JmsConsumer[OCR.ONAIR.MESSAGE] | EndpointMessageListener  |
.apache.camel.util.CamelLogger  224 | Execution of JMS message listener
failed. Caused by:
[org.apache.camel.component.file.GenericFileOperationFailedException - Error
writing file [test/test.txt]]
org.apache.camel.component.file.GenericFileOperationFailedException: Error
writing file [test/test.txt]
        at
org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:280)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:166)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.component.file.remote.RemoteFileProducer.process(RemoteFileProducer.java:49)[220:org.apache.camel.camel-ftp:2.12.3]
        at
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:132)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:307)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:127)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87)[110:org.apache.camel.camel-core:2.12.3]
        at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:103)[199:org.apache.camel.camel-jms:2.12.3]
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1103)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1095)[157:org.springframework.jms:3.2.4.RELEASE]
        at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:992)[157:org.springframework.jms:3.2.4.RELEASE]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_25]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_25]
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_25] 



--
View this message in context: http://servicemix.396122.n5.nabble.com/Apache-Servicemix-5-0-0-camel-ftp-fileExist-Append-not-working-tp5720629.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Re: Apache Servicemix 5.0.0: camel-ftp: fileExist=Append not working

Posted by simonglaubitz <si...@web.de>.
Any ideas how to solve the problem?
Except sticking to Apache Servicemix 3.3.2, of course :-)



--
View this message in context: http://servicemix.396122.n5.nabble.com/Apache-Servicemix-5-0-0-camel-ftp-fileExist-Append-not-working-tp5720629p5720731.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.