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
> >>>> >
>

Reply via email to