cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Brosius (JIRA)" <j...@apache.org>
Subject [jira] Closed: (CXF-1550) CXF and OSGI have problems with classloaders related to javax.xml.namespace.QName
Date Sun, 27 Apr 2008 06:18:55 GMT

     [ https://issues.apache.org/jira/browse/CXF-1550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Dave Brosius closed CXF-1550.
-----------------------------

       Resolution: Incomplete
    Fix Version/s:     (was: 2.0.6)

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


Mime
View raw message