Getting "javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed" when using camel-mail component to send attachments

Solution In Progress - Updated -

Issue

We are using jboss-fuse-6.0.0.redhat-024 on Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-23-generic x86_64).
We can't send and receive email with attachments.

When we send email with attachments, we are getting following error:

2014-08-27 11:27:44,476 | ERROR | 04 - timer://foo | DefaultErrorHandler              | 130 - org.apache.camel.camel-core - 2.10.0.redhat-60065 | Failed delivery for (MessageId: ID-jluomac-35669-1409121721841-31-3 on ExchangeId: ID-jluomac-35669-1409121721841-31-4). Exhausted after delivery attempt: 1 caught: javax.mail.MessagingException: IOException while sending message;
  nested exception is:
    javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed; 
    boundary="----=_Part_2_99878226.1409124464424"
javax.mail.MessagingException: IOException while sending message;
  nested exception is:
    javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed; 
    boundary="----=_Part_2_99878226.1409124464424"
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1177)[96:javax.mail:1.4.5]
    at org.apache.camel.component.mail.DefaultJavaMailSender.send(DefaultJavaMailSender.java:124)[225:org.apache.camel.camel-mail:2.10.0.redhat-60065]
    at org.apache.camel.component.mail.MailProducer.process(MailProducer.java:49)[225:org.apache.camel.camel-mail:2.10.0.redhat-60065]
    at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:122)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:298)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:117)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.fabric.FabricTraceProcessor.process(FabricTraceProcessor.java:81)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:308)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:117)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:135)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:63)[130:org.apache.camel.camel-core:2.10.0.redhat-60065]
    at java.util.TimerThread.mainLoop(Timer.java:555)[:1.7.0_21]
    at java.util.TimerThread.run(Timer.java:505)[:1.7.0_21]
Caused by: javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed; 
    boundary="----=_Part_2_99878226.1409124464424"
    at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:891)[:1.7.0_21]
    at javax.activation.DataHandler.writeTo(DataHandler.java:317)[:1.7.0_21]
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1485)[96:javax.mail:1.4.5]
    at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1773)[96:javax.mail:1.4.5]
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1121)[96:javax.mail:1.4.5]
    ... 47 more 

One way to workaround it is to comment out "javax.activation" package from "etc/jre.properties" file but it seems that we will have to delete "data/" folder and restart JBoss Fuse 6.0 container fresh then redeploy everything. it is rather awkward. Is there a better way to fix it?

Environment

  • Fuse ESB Enterprise 7.1;
  • JBoss Fuse 6.0.

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content