我正在使用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版本冲突,但我找不到其他类的来源。
帮助将不胜感激!
答案 0 :(得分:0)
我终于设法从IMAP审阅了电子邮件。您必须覆盖WSO2的一些库: bcmail-jdk15on-1.52.jar和jsch-0.1.51.wso2v1.jar 以使SMIME解码代码正常工作。 将这些库复制到wso2esb-5.0.0 / repository / components / lib。
希望能帮助别人。