[ 
https://issues.apache.org/jira/browse/CXF-1550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12592627#action_12592627
 ] 

Dave Brosius commented on CXF-1550:
-----------------------------------

Hmmm, i might have been premature in the solution. Reevaluating....

> CXF and OSGI have problems with classloaders related to 
> javax.xml.namespace.QName
> ---------------------------------------------------------------------------------
>
>                 Key: CXF-1550
>                 URL: https://issues.apache.org/jira/browse/CXF-1550
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.0.5
>            Reporter: Dave Brosius
>            Priority: Minor
>
> org.apache.cxf.common.xml.schema.SchemaCollection attempts to access 
> javax.xml.namespace.QName from the stax-api jar. In a normal environment this 
> is fine, but in OSGI, the osgi framework pulls the dependency from the system 
> class path as their are no constraints given to the class loader. This causes 
> problems as the QName class is different between stax-api and the jdk one. To 
> resolve this, the Manifest of cxf-2.0.5-incubator.jar could specify a minimum 
> version for the java.xml.* packages that precludes the classloaders from 
> loading these classes from the system (osgi) classpath. This version then 
> needs to be the version exported by the stax-api jar.
> [CODE]
> Caused by: java.lang.LinkageError: loader constraint violation in interface 
> itable initialization: when resolving method 
> "org.apache.cxf.common.xmlschema.FixedExtensionDeserializer.deserialize(Lorg/apache/ws/commons/schema/XmlSchemaObject;Ljavax/xml/namespace/QName;Lorg/w3c/dom/Node;)V"
>  the class loader (instance of 
> org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current 
> class, org/apache/cxf/common/xmlschema/FixedExtensionDeserializer, and the 
> class loader (instance of 
> org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for interface 
> org/apache/ws/commons/schema/extensions/ExtensionDeserializer have different 
> Class objects for the type javax/xml/namespace/QName used in the signature
>       at 
> org.apache.cxf.common.xmlschema.SchemaCollection.<init>(SchemaCollection.java:69)
>       at 
> org.apache.cxf.common.xmlschema.SchemaCollection.<init>(SchemaCollection.java:64)
>       at org.apache.cxf.service.model.ServiceInfo.<init>(ServiceInfo.java:44)
>       at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:300)
>       at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:368)
>       at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:162)
>       at 
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:97)
>       at 
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:74)
>       at 
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:113)
>       at 
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:160)
>       at 
> com.primavera.echo.installer.EchoInstaller.init(EchoInstaller.java:23)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1378)
>       at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1339)
>       at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1299)
>       ... 14 more
> [/CODE]

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to