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

时间:2017-02-03 08:50:17

标签: email wso2 imap bouncycastle esb

我正在使用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类。

我正在考虑mail.jar版本冲突,但我找不到其他类的来源。

帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

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

希望能帮助别人。