You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Richard Hierlmeier <rh...@googlemail.com> on 2019/01/08 14:31:00 UTC

Problems with SAXParserFactory in Karaf 4.2.1

I am  currently migrating an application from Karaf 3.0.8 to Karaf 4.2.1.
I have problems with a bundle, it can not instantiate a JAXB context object.
It throws the following exception:

java.lang.RuntimeException: Provider for class
javax.xml.parsers.SAXParserFactory cannot be created
    at
javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:212)
    at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
    at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
    at
javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
    at
com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
    at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
    at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
    at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
    ...
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.ServiceConfigurationError:
javax.xml.parsers.SAXParserFactory: Provider
org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at
javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
    at java.security.AccessController.doPrivileged(Native Method)
    at
javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
    ... 71 more

Caused by:
java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory:
Provider org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at
javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
    at java.security.AccessController.doPrivileged(Native Method)
    at
javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
    at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
    at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
    at
javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
    at
com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
    at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
    at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
    at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)


The class org.apache.xerces.jaxp.SAXParserFactoryImpl comes from bundle

mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.12.0_1

it is provided by the wss4j from the cxf-3.2.7 feature.

When I add an import to org.apache.xerces.jaxp to the bundle then JAXB is
working. But this cannot be the solution because it binds my bundle onto
this implementation.

How can I solve this problem?

Richard

Re: Problems with SAXParserFactory in Karaf 4.2.1

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
It should not be a problem with Karaf 4.2.2 (already fixed).

Regards
JB

On 09/01/2019 12:33, Richard Hierlmeier wrote:
> Hi JB,
> 
> Is the problem related to the problem that is described in
> http://karaf.922171.n3.nabble.com/Karaf-4-2-1-problem-with-xerces-bundle-td4054497.html?
> 
> Richard
> 
> Am Di., 8. Jan. 2019 um 16:51 Uhr schrieb Richard Hierlmeier
> <rhierlmeier@googlemail.com <ma...@googlemail.com>>:
> 
>     Java 8
> 
>     Am Di., 8. Jan. 2019 um 15:33 Uhr schrieb Jean-Baptiste Onofré
>     <jb@nanthrax.net <ma...@nanthrax.net>>:
> 
>         Hi,
> 
>         are you using Java 8 or 10/11 ?
> 
>         Regards
>         JB
> 
>         On 08/01/2019 15:31, Richard Hierlmeier wrote:
>         >
>         > I am  currently migrating an application from Karaf 3.0.8 to
>         Karaf 4.2.1.
>         > I have problems with a bundle, it can not instantiate a JAXB
>         context object.
>         > It throws the following exception:
>         >
>         > java.lang.RuntimeException: Provider for class
>         > javax.xml.parsers.SAXParserFactory cannot be created
>         >     at
>         >
>         javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:212)
>         >     at
>         javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
>         >     at
>         javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
>         >     at
>         >
>         javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
>         >     at
>         >
>         com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
>         >     at
>         >
>         com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
>         >     at
>         >
>         javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
>         >     at
>         >
>         javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
>         >     ...
>         >     at java.lang.Thread.run(Thread.java:745)
>         > Caused by: java.util.ServiceConfigurationError:
>         > javax.xml.parsers.SAXParserFactory: Provider
>         > org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
>         >     at
>         java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>         >     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>         >     at
>         >
>         javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
>         >     at java.security.AccessController.doPrivileged(Native Method)
>         >     at
>         >
>         javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
>         >     ... 71 more
>         >
>         > Caused by:
>         > java.util.ServiceConfigurationError:
>         javax.xml.parsers.SAXParserFactory:
>         > Provider org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
>         >     at
>         java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>         >     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>         >     at
>         >
>         javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
>         >     at java.security.AccessController.doPrivileged(Native Method)
>         >     at
>         >
>         javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
>         >     at
>         javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
>         >     at
>         javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
>         >     at
>         >
>         javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
>         >     at
>         >
>         com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
>         >     at
>         >
>         com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
>         >     at
>         >
>         javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
>         >     at
>         >
>         javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
>         >
>         >
>         > The class org.apache.xerces.jaxp.SAXParserFactoryImpl comes
>         from bundle
>         >
>         >
>         mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.12.0_1
>         >
>         > it is provided by the wss4j from the cxf-3.2.7 feature.
>         >
>         > When I add an import to org.apache.xerces.jaxp to the bundle
>         then JAXB
>         > is working. But this cannot be the solution because it binds
>         my bundle
>         > onto this implementation.
>         >
>         > How can I solve this problem?
>         >
>         > Richard
>         >
>         >
>         >
>         >
> 
>         -- 
>         Jean-Baptiste Onofré
>         jbonofre@apache.org <ma...@apache.org>
>         http://blog.nanthrax.net
>         Talend - http://www.talend.com
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: Problems with SAXParserFactory in Karaf 4.2.1

Posted by Freeman Fang <fr...@gmail.com>.
Hi Richard,

Would you please test Karaf 4.2.2,  I believe this issue has already get fixed.

If not, please append a reproducer testcase so that we can reproduce and investigate it.

Thanks!
-------------
Freeman(Yue) Fang

Red Hat, Inc. 





> On Jan 9, 2019, at 7:33 PM, Richard Hierlmeier <rh...@googlemail.com> wrote:
> 
> Hi JB,
> 
> Is the problem related to the problem that is described in http://karaf.922171.n3.nabble.com/Karaf-4-2-1-problem-with-xerces-bundle-td4054497.html <http://karaf.922171.n3.nabble.com/Karaf-4-2-1-problem-with-xerces-bundle-td4054497.html>?
> 
> Richard
> 
> Am Di., 8. Jan. 2019 um 16:51 Uhr schrieb Richard Hierlmeier <rhierlmeier@googlemail.com <ma...@googlemail.com>>:
> Java 8
> 
> Am Di., 8. Jan. 2019 um 15:33 Uhr schrieb Jean-Baptiste Onofré <jb@nanthrax.net <ma...@nanthrax.net>>:
> Hi,
> 
> are you using Java 8 or 10/11 ?
> 
> Regards
> JB
> 
> On 08/01/2019 15:31, Richard Hierlmeier wrote:
> > 
> > I am  currently migrating an application from Karaf 3.0.8 to Karaf 4.2.1.
> > I have problems with a bundle, it can not instantiate a JAXB context object.
> > It throws the following exception:
> > 
> > java.lang.RuntimeException: Provider for class
> > javax.xml.parsers.SAXParserFactory cannot be created
> >     at
> > javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:212)
> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
> >     at
> > javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
> >     at
> > com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
> >     at
> > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
> >     at
> > javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
> >     at
> > javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
> >     ...
> >     at java.lang.Thread.run(Thread.java:745)
> > Caused by: java.util.ServiceConfigurationError:
> > javax.xml.parsers.SAXParserFactory: Provider
> > org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
> >     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
> >     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
> >     at
> > javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
> >     at java.security.AccessController.doPrivileged(Native Method)
> >     at
> > javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
> >     ... 71 more
> > 
> > Caused by:
> > java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory:
> > Provider org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
> >     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
> >     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
> >     at
> > javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
> >     at java.security.AccessController.doPrivileged(Native Method)
> >     at
> > javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
> >     at
> > javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
> >     at
> > com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
> >     at
> > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
> >     at
> > javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
> >     at
> > javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
> > 
> > 
> > The class org.apache.xerces.jaxp.SAXParserFactoryImpl comes from bundle
> > 
> > mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.12.0_1
> > 
> > it is provided by the wss4j from the cxf-3.2.7 feature.
> > 
> > When I add an import to org.apache.xerces.jaxp to the bundle then JAXB
> > is working. But this cannot be the solution because it binds my bundle
> > onto this implementation.
> > 
> > How can I solve this problem?
> > 
> > Richard
> > 
> > 
> > 
> > 
> 
> -- 
> Jean-Baptiste Onofré
> jbonofre@apache.org <ma...@apache.org>
> http://blog.nanthrax.net <http://blog.nanthrax.net/>
> Talend - http://www.talend.com <http://www.talend.com/>


Re: Problems with SAXParserFactory in Karaf 4.2.1

Posted by Richard Hierlmeier <rh...@googlemail.com>.
Hi JB,

Is the problem related to the problem that is described in
http://karaf.922171.n3.nabble.com/Karaf-4-2-1-problem-with-xerces-bundle-td4054497.html
?

Richard

Am Di., 8. Jan. 2019 um 16:51 Uhr schrieb Richard Hierlmeier <
rhierlmeier@googlemail.com>:

> Java 8
>
> Am Di., 8. Jan. 2019 um 15:33 Uhr schrieb Jean-Baptiste Onofré <
> jb@nanthrax.net>:
>
>> Hi,
>>
>> are you using Java 8 or 10/11 ?
>>
>> Regards
>> JB
>>
>> On 08/01/2019 15:31, Richard Hierlmeier wrote:
>> >
>> > I am  currently migrating an application from Karaf 3.0.8 to Karaf
>> 4.2.1.
>> > I have problems with a bundle, it can not instantiate a JAXB context
>> object.
>> > It throws the following exception:
>> >
>> > java.lang.RuntimeException: Provider for class
>> > javax.xml.parsers.SAXParserFactory cannot be created
>> >     at
>> >
>> javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:212)
>> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
>> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
>> >     at
>> > javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
>> >     at
>> >
>> com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
>> >     at
>> >
>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
>> >     at
>> >
>> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
>> >     at
>> >
>> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
>> >     ...
>> >     at java.lang.Thread.run(Thread.java:745)
>> > Caused by: java.util.ServiceConfigurationError:
>> > javax.xml.parsers.SAXParserFactory: Provider
>> > org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
>> >     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>> >     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>> >     at
>> >
>> javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
>> >     at java.security.AccessController.doPrivileged(Native Method)
>> >     at
>> >
>> javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
>> >     ... 71 more
>> >
>> > Caused by:
>> > java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory:
>> > Provider org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
>> >     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>> >     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>> >     at
>> >
>> javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
>> >     at java.security.AccessController.doPrivileged(Native Method)
>> >     at
>> >
>> javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
>> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
>> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
>> >     at
>> > javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
>> >     at
>> >
>> com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
>> >     at
>> >
>> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
>> >     at
>> >
>> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
>> >     at
>> >
>> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
>> >
>> >
>> > The class org.apache.xerces.jaxp.SAXParserFactoryImpl comes from bundle
>> >
>> >
>> mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.12.0_1
>> >
>> > it is provided by the wss4j from the cxf-3.2.7 feature.
>> >
>> > When I add an import to org.apache.xerces.jaxp to the bundle then JAXB
>> > is working. But this cannot be the solution because it binds my bundle
>> > onto this implementation.
>> >
>> > How can I solve this problem?
>> >
>> > Richard
>> >
>> >
>> >
>> >
>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>

Re: Problems with SAXParserFactory in Karaf 4.2.1

Posted by Richard Hierlmeier <rh...@googlemail.com>.
Java 8

Am Di., 8. Jan. 2019 um 15:33 Uhr schrieb Jean-Baptiste Onofré <
jb@nanthrax.net>:

> Hi,
>
> are you using Java 8 or 10/11 ?
>
> Regards
> JB
>
> On 08/01/2019 15:31, Richard Hierlmeier wrote:
> >
> > I am  currently migrating an application from Karaf 3.0.8 to Karaf 4.2.1.
> > I have problems with a bundle, it can not instantiate a JAXB context
> object.
> > It throws the following exception:
> >
> > java.lang.RuntimeException: Provider for class
> > javax.xml.parsers.SAXParserFactory cannot be created
> >     at
> >
> javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:212)
> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
> >     at
> > javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
> >     at
> >
> com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
> >     at
> >
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
> >     at
> >
> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
> >     at
> >
> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
> >     ...
> >     at java.lang.Thread.run(Thread.java:745)
> > Caused by: java.util.ServiceConfigurationError:
> > javax.xml.parsers.SAXParserFactory: Provider
> > org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
> >     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
> >     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
> >     at
> >
> javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
> >     at java.security.AccessController.doPrivileged(Native Method)
> >     at
> >
> javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
> >     ... 71 more
> >
> > Caused by:
> > java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory:
> > Provider org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
> >     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
> >     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
> >     at
> >
> javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
> >     at java.security.AccessController.doPrivileged(Native Method)
> >     at
> >
> javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
> >     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
> >     at
> > javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
> >     at
> >
> com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
> >     at
> >
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
> >     at
> >
> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
> >     at
> >
> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
> >
> >
> > The class org.apache.xerces.jaxp.SAXParserFactoryImpl comes from bundle
> >
> >
> mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.12.0_1
> >
> > it is provided by the wss4j from the cxf-3.2.7 feature.
> >
> > When I add an import to org.apache.xerces.jaxp to the bundle then JAXB
> > is working. But this cannot be the solution because it binds my bundle
> > onto this implementation.
> >
> > How can I solve this problem?
> >
> > Richard
> >
> >
> >
> >
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Re: Problems with SAXParserFactory in Karaf 4.2.1

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,

are you using Java 8 or 10/11 ?

Regards
JB

On 08/01/2019 15:31, Richard Hierlmeier wrote:
> 
> I am  currently migrating an application from Karaf 3.0.8 to Karaf 4.2.1.
> I have problems with a bundle, it can not instantiate a JAXB context object.
> It throws the following exception:
> 
> java.lang.RuntimeException: Provider for class
> javax.xml.parsers.SAXParserFactory cannot be created
>     at
> javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:212)
>     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
>     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
>     at
> javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
>     at
> com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
>     at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
>     at
> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
>     at
> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
>     ...
>     at java.lang.Thread.run(Thread.java:745)
> Caused by: java.util.ServiceConfigurationError:
> javax.xml.parsers.SAXParserFactory: Provider
> org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
>     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>     at
> javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at
> javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
>     ... 71 more
> 
> Caused by:
> java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory:
> Provider org.apache.xerces.jaxp.SAXParserFactoryImpl 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)
>     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>     at
> javax.xml.parsers.$FactoryFinder.lambda$findServiceProvider$3($FactoryFinder.java:206)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at
> javax.xml.parsers.$FactoryFinder.findServiceProvider($FactoryFinder.java:197)
>     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:180)
>     at javax.xml.parsers.$FactoryFinder.find($FactoryFinder.java:122)
>     at
> javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:43)
>     at
> com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:123)
>     at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154)
>     at
> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
>     at
> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)
> 
> 
> The class org.apache.xerces.jaxp.SAXParserFactoryImpl comes from bundle
> 
> mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.12.0_1
> 
> it is provided by the wss4j from the cxf-3.2.7 feature.
> 
> When I add an import to org.apache.xerces.jaxp to the bundle then JAXB
> is working. But this cannot be the solution because it binds my bundle
> onto this implementation.
> 
> How can I solve this problem?
> 
> Richard
> 
> 
> 
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com