[ http://issues.apache.org/jira/browse/JAMES-447?page=comments#action_12368185 ]
Stefano Bagnara commented on JAMES-447: --------------------------------------- You should look in the classpath of the application that throws the exception. http://java.sun.com/products/javabeans/glasgow/javadocs/javax/activation/MailcapCommandMap.html maybe you could test this: CommandMap.getDefaultCommandMap().getAllCommands("multipart/report"); Then you cycle the CommandInfo to see what is the full class name of the class that is creating your problems. If you know its name it will be easier to find it in your classpath. > ClassCastException when storing multipart message without Msg ID > ---------------------------------------------------------------- > > Key: JAMES-447 > URL: http://issues.apache.org/jira/browse/JAMES-447 > Project: James > Type: Bug > Components: MailStore & MailRepository > Versions: 2.3.0a1 > Reporter: Bernd Fondermann > Assignee: Stefano Bagnara > Attachments: MimeMessageUtilTest.java, test.zip > > This problem occurs with James HEAD, but not with James 2.2.0 > When sending a multipart message which has no Message-ID header field to an > internal user, the following exception is raised: > javax.mail.MessagingException: Exception caught while storing Message > Container: javax.mail.MessagingException: MIME part of type "multipart/mixed; > boundary="bmQykoPt9wvlXeBFetOZnNCi/trubV+f25KeVm5YJYo="" contains object of > type com.sun.mail.util.SharedByteArrayInputStream instead of MimeMultipart > at > org.apache.james.mailrepository.AvalonMailRepository.store(AvalonMailRepository.java:329) > at > org.apache.james.transport.mailets.ToMultiRepository.storeMail(ToMultiRepository.java:226) > at > org.apache.james.transport.mailets.ToMultiRepository.service(ToMultiRepository.java:151) > at > org.apache.james.transport.mailets.LocalDelivery.service(LocalDelivery.java:64) > at > org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:414) > at > org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:397) > at > org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:306) > at java.lang.Thread.run(Thread.java:534) > the exception is thrown within JavaMail, the last related James call is in > line 67 of MimeMessageUtil: > public static void writeTo(MimeMessage message, OutputStream headerOs, > OutputStream bodyOs, String[] ignoreList) throws IOException, > MessagingException { > if (message instanceof MimeMessageCopyOnWriteProxy) { > MimeMessageCopyOnWriteProxy wr = (MimeMessageCopyOnWriteProxy) > message; > MimeMessage m = wr.getWrappedMessage(); > if (m instanceof MimeMessageWrapper) { > MimeMessageWrapper wrapper = (MimeMessageWrapper)m; > wrapper.writeTo(headerOs, bodyOs, ignoreList); > return; > } > } else if (message instanceof MimeMessageWrapper) { > MimeMessageWrapper wrapper = (MimeMessageWrapper)message; > wrapper.writeTo(headerOs, bodyOs, ignoreList); > return; > } > if(message.getMessageID() == null) { > message.saveChanges(); //// <====== exception thrown from here > } > the exception is going away if at least one of the following is done: > + a message id header field is added when sending the message > + the receiver is not a James internal account > + the message mime type is changed from "multipart" to something else > + James 2.2.0 is being used. > I did the first one for the stress test tool, but wonder if a Message-ID is > mandatory. > I debugged this problem but did not find neither a fix nor the critical > change from 2.2.0 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
