Hello,

  I have problem with fetching from mailbox using IMAP. According the debug the 
message body is fetched, but I get IOException with message "No content". It 
works fine using POP3 (which we can't use in production).

I'm not sure if the problem is in used IMAP implementation (default from Oracle 
JRE 1.6) or in Camel.

Anyone seen this before?

Ales

P.S.: I have replaced password in the following trace

13:22:05.864 [Camel (camel) thread #0 - imap://assign-mana...@imap.seznam.cz] 
DEBUG o.a.c.component.mail.MailConsumer - Connecting to MailStore: 
imap://imap.seznam.cz:143, folder=INBOX
DEBUG: getProvider() returning 
javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, 
Inc]
DEBUG: mail.imap.fetchsize: 16384
DEBUG: mail.imap.statuscachetimeout: 1000
DEBUG: mail.imap.appendbuffersize: -1
DEBUG: mail.imap.minidletime: 10
DEBUG: trying to connect to host "imap.seznam.cz", port 143, isSSL false
* OK Seznam IMAP server ready
A0 CAPABILITY
* CAPABILITY IMAP4rev1 STARTTLS CHILDREN
A0 OK CAPABILITY completed
DEBUG: protocolConnect login, host=imap.seznam.cz, user=assign-manager, 
password=<non-null>
A1 LOGIN assign-manager XXXXXXXXXXXXXXXXX
A1 OK LOGIN Authentication succeeded
A2 CAPABILITY
* CAPABILITY IMAP4rev1 STARTTLS CHILDREN
A2 OK CAPABILITY completed
13:22:06.390 [Camel (camel) thread #0 - imap://assign-mana...@imap.seznam.cz] 
DEBUG o.a.c.component.mail.MailConsumer - Getting folder INBOX
A3 LIST "" INBOX
* LIST (\HasNoChildren) "/" "INBOX"
A3 OK LIST completed
13:22:06.638 [Camel (camel) thread #0 - imap://assign-mana...@imap.seznam.cz] 
DEBUG o.a.c.component.mail.MailConsumer - Polling mailbox folder: 
imap://imap.seznam.cz:143, folder=INBOX
DEBUG: connection available -- size: 1
A4 SELECT INBOX
* 2 EXISTS
* 0 RECENT
* FLAGS (\Seen \Answered \Flagged \Deleted \Draft \Recent)
* OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft)] Can bee 
changed permanently
* OK [UIDVALIDITY 1] UIDs validity number
* OK [UIDNEXT 7] Predicted next UID
* OK [UNSEEN 2] The first unseen message MSN.
A4 OK [READ-WRITE] SELECT completed
A5 SEARCH UNSEEN ALL
* SEARCH 2
A5 OK SEARCH completed
13:22:07.147 [Camel (camel) thread #0 - imap://assign-mana...@imap.seznam.cz] 
DEBUG o.a.c.component.mail.MailConsumer - Fetching 1 messages. Total 1 messages.
A6 FETCH 2 (FLAGS)
* 2 FETCH (FLAGS ())
A6 OK FETCH completed
A7 FETCH 2 (ENVELOPE INTERNALDATE RFC822.SIZE)
* 2 FETCH (ENVELOPE ("Fri, 11 Jan 2013 16:05:41 +0000 (GMT)" "TEST" (("DOLECEK 
Ales" NIL "Ales.Dolecek" "nextiraone.eu")) (("DOLECEK Ales" NIL "Ales.Dolecek" 
"nextiraone.eu")) (("DOLECEK Ales" NIL "Ales.Dolecek" "nextiraone.eu")) 
(("assign-mana...@seznam.cz" NIL "assign-manager" "seznam.cz")) NIL NIL NIL 
"<995ef58d093f4847a6035da98d9a7f6e3469de9...@ucmai003.uc.nextiraone-eu.ned>") 
INTERNALDATE "11-Jan-2013 16:05:44 +0000" RFC822.SIZE 1657)
A7 OK FETCH completed
13:22:07.593 [Camel (camel) thread #0 - imap://assign-mana...@imap.seznam.cz] 
DEBUG o.a.c.component.mail.MailConsumer - Processing message: 
messageNumber=[2], from=[DOLECEK Ales <ales.dole...@nextiraone.eu>], 
to=["assign-mana...@seznam.cz" <assign-mana...@seznam.cz>], subject=[TEST], 
sentDate=[11.1.2013 17:05:41], receivedDate=[11.1.2013 17:05:44]
A8 FETCH 2 (BODYSTRUCTURE)
* 2 FETCH (BODYSTRUCTURE ("text" "plain" ("charset" "us-ascii") NIL NIL NIL 46 
1 NIL NIL NIL))
A8 OK FETCH completed
A9 FETCH 2 (BODY[TEXT]<0.46>)
 (\Seen)* 2 FETCH (BODY[TEXT]<0> {46}
key1=value1
key2 = value2
===
key3=value2
)
A9 OK FETCH completed
DEBUG IMAP: IMAPProtocol noop
A10 NOOP
A10 OK Let's nooooop!
13:22:08.181 [Camel (camel) thread #0 - imap://assign-mana...@imap.seznam.cz] 
ERROR o.a.c.component.mail.MailConsumer - Caused by: 
[org.apache.camel.RuntimeCamelException - Failed to extract body due to: No 
content. Exchange: Exchange[MailMessage: messageNumber=[2], from=[DOLECEK Ales 
<ales.dole...@nextiraone.eu>], to=["assign-mana...@seznam.cz" 
<assign-mana...@seznam.cz>], subject=[TEST], sentDate=[11.1.2013 17:05:41], 
receivedDate=[11.1.2013 17:05:44]]. Message: 
com.sun.mail.imap.IMAPMessage@5f95ff24]
org.apache.camel.RuntimeCamelException: Failed to extract body due to: No 
content. Exchange: Exchange[MailMessage: messageNumber=[2], from=[DOLECEK Ales 
<ales.dole...@nextiraone.eu>], to=["assign-mana...@seznam.cz" 
<assign-mana...@seznam.cz>], subject=[TEST], sentDate=[11.1.2013 17:05:41], 
receivedDate=[11.1.2013 17:05:44]]. Message: 
com.sun.mail.imap.IMAPMessage@5f95ff24
        at 
org.apache.camel.component.mail.MailBinding.extractBodyFromMail(MailBinding.java:255)
 ~[camel-mail-2.8.2.jar:2.8.2]
        at 
org.apache.camel.component.mail.MailMessage.createBody(MailMessage.java:92) 
~[camel-mail-2.8.2.jar:2.8.2]
        at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:41) 
~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.impl.MessageSupport.copyFrom(MessageSupport.java:136) 
~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.impl.DefaultMessage.copyFrom(DefaultMessage.java:52) 
~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.component.mail.MailMessage.copyFrom(MailMessage.java:126) 
~[camel-mail-2.8.2.jar:2.8.2]
        at org.apache.camel.impl.MessageSupport.copy(MessageSupport.java:125) 
~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.component.mail.MailMessage.copy(MailMessage.java:56) 
~[camel-mail-2.8.2.jar:2.8.2]
        at 
org.apache.camel.component.mail.MailMessage.copy(MailMessage.java:33) 
~[camel-mail-2.8.2.jar:2.8.2]
        at 
org.apache.camel.impl.DefaultUnitOfWork.<init>(DefaultUnitOfWork.java:88) 
~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.impl.DefaultUnitOfWork.<init>(DefaultUnitOfWork.java:71) 
~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.processor.UnitOfWorkProcessor.createUnitOfWork(UnitOfWorkProcessor.java:147)
 ~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:90)
 ~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
 ~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
 ~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
 ~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
 ~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:104)
 ~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)
 ~[camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.component.mail.MailConsumer.processExchange(MailConsumer.java:272)
 ~[camel-mail-2.8.2.jar:2.8.2]
        at 
org.apache.camel.component.mail.MailConsumer.processBatch(MailConsumer.java:187)
 ~[camel-mail-2.8.2.jar:2.8.2]
        at 
org.apache.camel.component.mail.MailConsumer.poll(MailConsumer.java:122) 
~[camel-mail-2.8.2.jar:2.8.2]
        at 
org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:134)
 [camel-core-2.8.2.jar:2.8.2]
        at 
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:89) 
[camel-core-2.8.2.jar:2.8.2]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
[na:1.6.0_33]
        at 
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) 
[na:1.6.0_33]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) 
[na:1.6.0_33]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
 [na:1.6.0_33]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
 [na:1.6.0_33]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
 [na:1.6.0_33]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 [na:1.6.0_33]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
[na:1.6.0_33]
        at java.lang.Thread.run(Thread.java:662) [na:1.6.0_33]
Caused by: java.io.IOException: No content
        at com.sun.mail.imap.IMAPInputStream.fill(IMAPInputStream.java:159) 
~[mail-1.4.4.jar:1.4.4]
        at com.sun.mail.imap.IMAPInputStream.read(IMAPInputStream.java:208) 
~[mail-1.4.4.jar:1.4.4]
        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264) 
~[na:1.6.0_33]
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306) 
~[na:1.6.0_33]
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) ~[na:1.6.0_33]
        at java.io.InputStreamReader.read(InputStreamReader.java:167) 
~[na:1.6.0_33]
        at com.sun.mail.handlers.text_plain.getContent(text_plain.java:125) 
~[mail-1.4.4.jar:1.4.4]
        at 
javax.activation.DataSourceDataContentHandler.getContent(DataHandler.java:775) 
~[na:1.6.0_33]
        at javax.activation.DataHandler.getContent(DataHandler.java:522) 
~[na:1.6.0_33]
        at javax.mail.internet.MimeMessage.getContent(MimeMessage.java:1419) 
~[mail-1.4.4.jar:1.4.4]
        at 
org.apache.camel.component.mail.MailBinding.extractBodyFromMail(MailBinding.java:227)
 ~[camel-mail-2.8.2.jar:2.8.2]
        ... 32 common frames omitted
A11 CLOSE
A11 OK CLOSE completed
DEBUG: added an Authenticated connection -- size: 1

Reply via email to