Hazarding a guess at this but when it fails when called by the camel route it 
will be executing on a different thread when then when executed by karaf 
command. You could try and confirm this by surrounding the code that is failing 
with a thread context switch so that it switches to the context of the class 
that has the failing code.

Kerry

⁣Sent from BlueMail ​

On 27 Mar 2018, 14:17, at 14: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

Reply via email to