I want to use Mule for moving and processing files. I'm trying to move the same file to different folders with a flow and an "all router" but it fails.
This works:
<flow name="testflow2Flow1" doc:name="testflow2Flow1">
<file:inbound-endpoint path="C:\IN" fileAge="10000" responseTimeout="10000" doc:name="File"/>
<set-variable variableName="tempfilename" value="#[header:originalFilename]" doc:name="Variable"/>
<file:outbound-endpoint path="C:\OUT" responseTimeout="10000" doc:name="File"/>
</flow>
But this don't!
<flow name="testflow2Flow1" doc:name="testflow2Flow1">
<file:inbound-endpoint path="C:\IN" fileAge="10000" responseTimeout="10000" doc:name="File"/>
<set-variable variableName="tempfilename" value="#[header:originalFilename]" doc:name="Variable"/>
<all doc:name="All">
<processor-chain>
<file:outbound-endpoint path="C:\OUT" responseTimeout="10000" doc:name="File"/>
</processor-chain>
</all>
</flow>
I get this exception:
INFO 2013-10-03 20:22:19,072 [[testflow2].connector.file.mule.default.receiver.01] org.mule.transport.file.FileMessageReceiver: Lock obtained on file: C:\IN\test.txt.txt ERROR 2013-10-03 20:22:19,088 [[testflow2].testflow2Flow1.stage1.02] org.mule.exception.DefaultMessagingExceptionStrategy:
Message : Cannot copy message with a stream payload. Payload type is "org.mule.transport.file.ReceiverFileInputStream". Message payload is of type: ReceiverFileInputStream
Code : MULE_ERROR--2
Exception stack is: 1. Cannot copy message with a stream payload. Payload type is "org.mule.transport.file.ReceiverFileInputStream". Message payload is of type: ReceiverFileInputStream (org.mule.api.MessagingException)
org.mule.routing.outbound.AbstractSequenceRouter:74 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)
Root Exception stack trace: org.mule.api.MessagingException: Cannot copy message with a stream payload. Payload type is "org.mule.transport.file.ReceiverFileInputStream". Message payload is of type: ReceiverFileInputStream at org.mule.routing.outbound.AbstractSequenceRouter.route(AbstractSequenceRouter.java:74) at org.mule.routing.outbound.AbstractOutboundRouter$1.process(AbstractOutboundRouter.java:105) at org.mule.routing.outbound.AbstractOutboundRouter$1.process(AbstractOutboundRouter.java:100) + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)