Hi Tim, Thanks for the info, I didn't know this spec existed, I'll give it a try then.
thanks a lot! Nicolas On Tue, Mar 27, 2018 at 3:33 PM, Tim Ward <tim.w...@paremus.com> wrote: > The recommendation would almost certainly be to use the XML Parser > Service. You can see it in the spec at https://osgi.org/ > specification/osgi.cmpn/7.0.0/util.xml.html - note that this spec is > pretty old, so all the examples use the low-level OSGi framework API. > > Best Regards, > > Tim > > > On 27 Mar 2018, at 09:17, Nicolas Brasey <nicolas.bra...@gmail.com> wrote: > > Hi, > > I'm feeling frustrated because like everytime I'm adventuring with XML in > an OSGi context, I end up with classloading issues, and this time is no > exception :-) So I would like to know what/how you guys are doing it... > > My use case is extremely simple, yet I can't figure out what I'm doing > wrong. I need to use an XML parser to get a Document object from an XML > file. This XML parsing code is embedded inside a service (DS). The weird > thing is that If I invoke this service with a karaf command, then it works > fine. If the same code is invoked through a REST endpoint (another bundle), > then I get the following class not found: > > Caused by: java.util.ServiceConfigurationError: > javax.xml.parsers.DocumentBuilderFactory: > Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found > at java.util.ServiceLoader.fail(ServiceLoader.java:239) ~[?:?] > at java.util.ServiceLoader.access$300(ServiceLoader.java:185) ~[?:?] > at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:372) > ~[?:?] > > > AFAIK, Karaf is pulling the servicemix implementation of Xerces, and I > doubled check that the package is available in karaf: > > > dms@root>exports | grep org.apache.xerces.jaxp > org.apache.xerces.jaxp.datatype > │ 2.11.0 │ 348 │ > org.apache.servicemix.bundles.xerces > org.apache.xerces.jaxp.validation > │ 2.11.0 │ 348 │ > org.apache.servicemix.bundles.xerces > org.apache.xerces.jaxp > │ 2.11.0 │ 348 │ > org.apache.servicemix.bundles.xerces > > > > So, I don't know what I'm doing wrong here. > > Any clue ? > > > Thanks, > Nicolas > > >