WSO2 - 使用与 javax.mail 不兼容的 IMAPMessage?

WSO2 - Use of IMAPMessage incompatible with javax.mail?

我正在使用 WSO2 ESB 检查来自 IMAP 邮箱的电子邮件。一些电子邮件使用 256 证书进行签名和加密。我正在使用 BouncyCastle 来解密消息。我有关于 mail.jar (javax.mail) 的兼容性问题。

1/ 我正在收到电子邮件:

if (message instanceof IMAPMessage) {

2/ 我正在向 BC 发送消息:

final SMIMEEnveloped m = new SMIMEEnveloped((MimeMessage) message);

3/ 我在这个转换中遇到这个错误:

java.lang.IncompatibleClassChangeError: Class com.sun.mail.imap.IMAPMessage does not implement the requested interface javax.mail.Part
    at org.bouncycastle.mail.smime.SMIMEEnveloped.getInputStream(Unknown Source)
    at org.bouncycastle.mail.smime.SMIMEEnveloped.<init>(Unknown Source)

我正在使用包含在 WSO2 ESB 中的 bcprov-jdk15on-1。52.jar。我将 mail-1.4.jar 用于 javax.mail 和 com.sun.mail classes.

我在考虑 mail.jar 版本冲突,但我找不到另一个 class 的来源。

将不胜感激!

我终于设法从 IMAP 检索电子邮件。您必须覆盖 WSO2 的一些库:bcmail-jdk15on-1.52.jar 和 jsch-0.1.51.wso2v1.jar 以使 SMIME 解码代码工作。 将这些库复制到 wso2esb-5.0.0/repository/components/lib.

希望对其他人有所帮助。