Hi Jean-Baptiste, Hmmm... I don't see to mention this before in this thread... You mean servicemix-spec? I'm not sure what you mean by "karaf-spec feature". Sorry, but I'm not very familiar with some details of Karaf.
Andrei M. On Thu, Feb 10, 2022 at 3:45 PM Jean-Baptiste Onofré <[email protected]> wrote: > Hi Andrei, > > Thanks for the update. And it's what we talked about in a previous email. > > What do you think about removing activation from jre.properties and > adding activation spec from karaf-spec feature ? (it's what I proposed > previously). > It should work in almost all cases. > > Regards > JB > > On Thu, Feb 10, 2022 at 2:35 PM Andrei Petru Mura <[email protected]> > wrote: > > > > After some investigation, I managed to make this work. I'll mentioned > below a few points which I had to perform. > > First of all, I switched to Karaf 4.3.6. But If you have to stick with > Karaf 4.3.3, you have only to skip John Taylor's comment bellow. > > In a different thread, entitled "reading mail attachments", John Taylor > wrote: > > > > With either 4.3.5 or 4.3.6 I believe javax.activation was included in > the jre-9 export in jre.properties > > That pulls in the com.sun.activation/jakarta.activation bundle I believe > and that doesn't seem to work with the camel attachments processing. > > > > What I did to resolve it is comment that out in jre.properties and pull > in the servicemix activation package. > > > > jre.properties > > jre-9= \ > > ${jre-base}, \ > > javax.accessibility, \ > > javax.activity, \ > > javax.annotation;version="1.3", \ > > javax.annotation.processing;version="1.0", \ > > #javax.activation;version="1.2.1", \ > > javax.crypto, \ > > . . . > > > > install -s > mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.2.1/1.2.1_3 > > > > More than this, I would add that I installed the servicemix activation > bundle to start with level 10, and before all other installations. I > observed that the installation order has an impact on this too. > > Afterwards, everything seems to work fine. > > > > All the best, > > Andrei Mura > > > > On Thu, Feb 3, 2022 at 4:29 PM Andrei Petru Mura <[email protected]> > wrote: > >> > >> Ok. I installed the one provided by eu.agno3.jcifs, but didn't fix the > issue. > >> > >> Andrei Mura > >> > >> On Thu, Feb 3, 2022 at 4:26 PM Andrei Petru Mura <[email protected]> > wrote: > >>> > >>> Hmmm... Can you give me the group ID too please? Thanks > >>> > >>> Andrei > >>> > >>> On Thu, Feb 3, 2022 at 4:12 PM Jean-Baptiste Onofré <[email protected]> > wrote: > >>>> > >>>> Hi > >>>> > >>>> I know that, depending of the use, bouncycastle 1.69 needs > >>>> jcifs-ng/2.1.7 (as it introduced a breaking change). > >>>> > >>>> But probably not related to your issue (the update), but possible it's > >>>> the same issue (due to bc breaking change). > >>>> > >>>> Regards > >>>> JB > >>>> > >>>> On 03/02/2022 14:30, Andrei Petru Mura wrote: > >>>> > Hmm... Which ones? I upgraded many others... Including java mail. I > use > >>>> > jakarta.mail 1.6.7 now. > >>>> > > >>>> > Andrei M. > >>>> > > >>>> > On Thu, Feb 3, 2022 at 3:25 PM Jean-Baptiste Onofré < > [email protected] > >>>> > <mailto:[email protected]>> wrote: > >>>> > > >>>> > Hi Andrei, > >>>> > > >>>> > Did you upgrade only bouncycastle 1.69 or other dependency ? > >>>> > > >>>> > I remember another deps should be updated. > >>>> > > >>>> > Regards > >>>> > JB > >>>> > > >>>> > On 03/02/2022 14:09, Andrei Petru Mura wrote: > >>>> > > Hi all, > >>>> > > > >>>> > > I upgraded bouncycastle to 1.69 in karaf. When trying to run > this > >>>> > code: > >>>> > > > >>>> > > MimeBodyPart textPart = new MimeBodyPart(); > >>>> > > textPart.setContent(new String(body), "text/plain"); > >>>> > > textPart.setHeader("Content-Type", messageContentType); > >>>> > > textPart.setHeader("Content-Transfer-Encoding", "binary"); > >>>> > > textPart.setHeader("Content-Disposition", "attachment; > filename=" + > >>>> > > fileName); > >>>> > > > >>>> > > SMIMESignedGenerator gen = new SMIMESignedGenerator(); > >>>> > > gen.setContentTransferEncoding("base64"); > >>>> > > JcaSimpleSignerInfoGeneratorBuilder signerInfoGenerator = new > >>>> > > JcaSimpleSignerInfoGeneratorBuilder(); > >>>> > > signerInfoGenerator = signerInfoGenerator.setProvider("BC"); > >>>> > > SignerInfoGenerator signerGenerator = > >>>> > > signerInfoGenerator.build(alg.algorithmWithRSA(), privateKey, > >>>> > certificate); > >>>> > > gen.addSignerInfoGenerator(signerGenerator); > >>>> > > > >>>> > > List<X509Certificate> certList = new > ArrayList<X509Certificate>(); > >>>> > > certList.add(certificate); > >>>> > > @SuppressWarnings("rawtypes") > >>>> > > Store certs = new JcaCertStore(certList); > >>>> > > > >>>> > > gen.addCertificates(certs); > >>>> > > > >>>> > > MimeMultipart signedReport = gen.generate(replyBody); > >>>> > > ByteArrayOutputStream out = new ByteArrayOutputStream(); > >>>> > > mimeMsg.writeTo(out); //the line which gives problems > >>>> > > out.close(); > >>>> > > > >>>> > > I get this: > >>>> > > > >>>> > > javax.activation.UnsupportedDataTypeException: text/plain > >>>> > > at javax.activation.DataHandler.writeTo(DataHandler.java:75) > >>>> > ~[!/:2.9.0] > >>>> > > at > javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1670) > >>>> > > ~[!/:1.6.7] > >>>> > > at > javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:972) > >>>> > > ~[!/:1.6.7] > >>>> > > at > javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:537) > >>>> > > ~[!/:1.6.7] > >>>> > > > >>>> > > Trying to make the long story short, after investigation, I > find > >>>> > that BC > >>>> > > includes a file at META-INF/mailcap > >>>> > > This shouldn't be a problem, but it seems to me that this is > a > >>>> > problem. > >>>> > > > >>>> > > If I try to add the mailcap manually before the above code > >>>> > snippet, like > >>>> > > this: > >>>> > > > >>>> > > MailcapCommandMap mc = (MailcapCommandMap) > >>>> > > CommandMap.getDefaultCommandMap(); > >>>> > > mc.addMailcap("text/html;; > >>>> > > x-java-content-handler=com.sun.mail.handlers.text_html"); > >>>> > > mc.addMailcap("text/xml;; > >>>> > > x-java-content-handler=com.sun.mail.handlers.text_xml"); > >>>> > > mc.addMailcap("text/plain;; > >>>> > > x-java-content-handler=com.sun.mail.handlers.text_plain"); > >>>> > > mc.addMailcap("multipart/*;; > >>>> > > > x-java-content-handler=com.sun.mail.handlers.multipart_mixed"); > >>>> > > mc.addMailcap("message/rfc822;; > >>>> > > > x-java-content-handler=com.sun.mail.handlers.message_rfc822"); > >>>> > > > >>>> > > it has no effect, although I can see that the command > handler is > >>>> > set there. > >>>> > > > >>>> > > After all this investigation, I conclude that this is > related to > >>>> > OSGI > >>>> > > class loader. Any idea how to fix this or any hints? > >>>> > > > >>>> > > Thanks, > >>>> > > Andrei Mura > >>>> > >
