Письма с вложениями вызывают ошибку в Mule - PullRequest
0 голосов
/ 09 ноября 2010

У меня есть рабочая Mule 2.2.1 конфигурация с imaps: разъем .Но я не могу обрабатывать электронные письма с вложениями.Есть опыт?

org.mule.api.service.ServiceException: Cannot route event as component "imap" is stopped. Component that caused exception is: SedaService{imap}. Message payload is of type: MimeMessage

Или вместо MimeMessage сообщается вместо *1010* MimeMessage *1011*, если я удалю org.mule.transport.email.SimpleMailMessageAdapter.

Я пытался максимально ограничить конфигурацию (без помех, без компонентов), но это не помогло.

    <imaps:connector name="imapConnector" checkFrequency="${imap.checkFrequency}" deleteReadMessages="${imap.deleteReadMessages}" >
        <imaps:tls-client path="${keystore}" storePassword="${keystore.password}" />
        <imaps:tls-trust-store path="${keystore}" storePassword="${keystore.password}" />
    </imaps:connector>

    <model>

        <service name="imap">
            <inbound>
                <imaps:inbound-endpoint host="${imap.host}"
                    port="${imap.port}" user="${imap.user}"
                    password="${imap.password}" connector-ref="imapConnector">

                </imaps:inbound-endpoint>
            </inbound>

        </service>

    </model>

Редактировать

Странно!Трансформаторы не помогают, потому что их даже не называют.Я написал нестандартный, ничего не делая, просто для отладки.Трансформер вызывается, если добавляется во входящий.Это вызывает пропуск компонента, даже несуществующего.

1 Ответ

0 голосов
/ 10 ноября 2010

Я не смог определить проблему из-за FunctionalTestCase. Мул ведет себя по-другому там. Сервер выдает понятное исключение.

java.lang.ClassCastException: javax.mail.internet.MimeMultipart cannot be cast to java.lang.String
    at org.mule.transport.email.transformers.EmailMessageToString.doTransform(EmailMessageToString.java:57)

Преобразователь электронной почты по умолчанию EmailMessageToString не предполагает, что MimeMultipart может содержать другой MimeMultipart, а не только строку.

...