message.ContentType is
multipart/mixed;
boundary=--boundary_1916_dae063ae-ff1f-4a7d-8a1d-4b998f7d5941
Camel 1.4 seems to barf on trying to process these email messages types.
Attempt to getCount() results in exception.
MimeMultipart multi = message.getBody(MimeMultipart.class);
if (multi != null) {
for (int i = 0; i < multi.getCount(); i++) {
javax.mail.MessagingException: No inputstream from datasource
at javax.mail.internet.MimeMultipart.parsebm(MimeMultipart.java:646)
at javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:383)
at javax.mail.internet.MimeMultipart.getCount(MimeMultipart.java:229)
at com.contextweb.mail.MailReader.process(MailReader.java:79)
at
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:81)
at
org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92)
at
org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66)
at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:155)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:91)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
at
org.apache.camel.component.mail.MailConsumer.processMessage(MailConsumer.java:169)
at
org.apache.camel.component.mail.MailConsumer.processMessages(MailConsumer.java:151)
at
org.apache.camel.component.mail.MailConsumer.poll(MailConsumer.java:105)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:65)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Same if you try this:
Map<String, DataHandler> attachments = message.getAttachments();
Caused by: javax.mail.MessagingException: No inputstream from datasource
at javax.mail.internet.MimeMultipart.parsebm(MimeMultipart.java:646)
at javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:383)
at javax.mail.internet.MimeMultipart.getCount(MimeMultipart.java:229)
at
org.apache.camel.component.mail.MailMessage.extractAttachments(MailMessage.java:160)
at
org.apache.camel.component.mail.MailMessage.populateInitialAttachments(MailMessage.java:132)
... 28 more
--
View this message in context:
http://www.nabble.com/Certain-email-MimeMultipart-barf-tp20057881s22882p20057881.html
Sent from the Camel - Users mailing list archive at Nabble.com.