|
Модераторы: LSD, AntonSaburov |
|
njoymsk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.2.2012 Репутация: нет Всего: нет |
Привет.
Такая ошибка. Забираю сообщение с сервера. При выполнении кода String contentType = message.getContent(); Получаю multipart/alternative Мне нужно получить текст сообщения. Выполняю код MimeMessage mimeMessage = (MimeMessage) message.getContent(); Получаю ошибку: javax.mail.util.SharedByteArrayInputStream cannot be cast to javax.mail.Multipart Но могу сообщение записать в файл методом writeto (см.файл) Какие варианты обойти ошибку и получить содержимое? Парсить руками совсем не хотелось бы. Спасибо если вы прониклись моей проблемой, готов ответить на все вопросы. Использую javamail 1.4.4 Присоединённый файл ( Кол-во скачиваний: 4 ) message.txt 3,03 Kb |
|||
|
||||
mstalker26 |
|
||||
Бывалый Профиль Группа: Участник Сообщений: 206 Регистрация: 4.7.2009 Репутация: 4 Всего: 11 |
проблемой прониклись . На будущее не стесняйтесь выкладывать код, который не работает. Почитайте внимательно Javadoc к методу getContent()
Попробуйте считать методом getInputStream() http://javamail.kenai.com/nonav/javadocs/j...etInputStream(). Пример (на скорую руку)
--------------------
Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом. |
||||
|
|||||
njoymsk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.2.2012 Репутация: нет Всего: нет |
Спасибо за сочувствие)
Метод getInputStream() я пробовал и все работает. Получаю все символы сообщения (смотреть вложенный файл к первому посту), в том числе и заголовки, кодировки, тегиб, id. В общем информация вроде в структурированном виде, но инструмент для создания объекта из этих данных не работает((. Вопрос, наверно, больше заключается, вот в чем: Как разобрать полученное сообщение, а именно, его пользовательский текст, если к формату Mime оно не приводится из за ошибки (в первом посте)? |
|||
|
||||
mstalker26 |
|
||||
Бывалый Профиль Группа: Участник Сообщений: 206 Регистрация: 4.7.2009 Репутация: 4 Всего: 11 |
если у Вас тип multipart/alternative, кастуйте не к MimeMessage, а к Multipart. Пример (приблизительно)
--------------------
Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом. |
||||
|
|||||
njoymsk |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.2.2012 Репутация: нет Всего: нет |
Проблема в том что и на этой строчке
я получаю ошибку: javax.mail.util.SharedByteArrayInputStream cannot be cast to javax.mail.Multipart Таким образом есть возможность преобразовать письмо в текст из InputStream, но как парсить его руками я не представляю. А получить какой то структурированный объект я не могу( Пока обошелся заголовком сообщения
Для текущих нужд его вроде бы пока хватает.. |
||||
|
|||||
jk1 |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Документация к getContent довольно однозначна в этом вопросе
То есть тип возвращаемого значения зависит от типа контента. Про "multipart/alternative" уже писалось выше, но судя по тому, что возвращается поток, это не Ваш случай. Начните с выяснения Mime-типа содержимого, тогда сразу станет ясно, как его читать. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
BrykAlien |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 5.5.2017 Репутация: нет Всего: нет |
Понятно что занимаюсь эксгумацией старой темы, но её яндех выдаёт одной из первых при запросе. А ответа нет.
Мне помогла замена всех .jar - файлов Javamail API на версию 1.6.0-rc1: javax.mail.jar : https://maven.java.net/content/repositories...l-1.6.0-rc1.jar activation.jar : https://maven.java.net/content/repositories...n-1.6.0-rc1.jar Так же есть описание проблемы тут
|
|||
|
||||
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |