LinkageError: Loader constraints are violated when linking javax / xml / namespace / QName in Websphere6.1 using resteasy

I am getting this error when calling webservices. I couldn't figure it out. Any help is greatly appreciated.

the linked library I have is: axis-1.3.jar
axis-JAXRPC-1.3.jar
axis-SAAJ-1.3.jar
axis-wsdl4j-1.5.1.jar

Jaxb-api-2.1.jar jaxb-osusch-2.1.8.jar jaxen-1,1-beta-9.jar jaxrs-api-1,0-beta-9.jar

In websphere 61, the admin setting is as follows: Enterprise Application -> WAR class load mode: PARENT_LAST * Web module: -> ClassLoader mode: application_FIRST

Caused by: java.lang.LinkageError: Loader constraints were violated when linking the javax / xml / namespace / of the QName class at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl. (RuntimeBuiltinLeafInfoImpl.java:224) at com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl. (RuntimeTypeInfoSetImpl.java:61) at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet (RuntimeModelBuilder.java:127) at com.sun.xml.bind.v2.model.imodel.Rep (RuntimeModelBuilder.java:79) at com.sun.xml.bind.v2.model.impl.ModelBuilder. (ModelBuilder.java:152) at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder. (RuntimeModelBuilder.java:87) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet (JAXBContextImpl.java:432) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:297) at com.sun.xml.bind.v2.ContextFactory.createContext (ContextFactory.java:139) at com.sun.xml.bind.v2.ContextFactory.createContext (ContextFactory.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.invoke) (DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.invoke) (DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.invoke) at java invoke (Method.java:585) in javax.xml.bind.ContextFinder.newInstance (ContextFinder.java:211) in javax.xml.bind.ContextFinder.find (ContextFinder.java:372) in javax.xml.bind.JAXBContext .newInstance (JAXBContext.java:574) at org.jboss.resteasy.plugins.providers.jaxb.JAXBContextWrapper. (JAXBContextWrapper.java:74) at org.jboss.resteasy.plugins.providers.jaxb.JAXBContextWrapper. (JAXBContextWrapper.java:99) at org.jboss.resteasy.plugins.providers.jaxb.XmlJAXBContextFinder.createContextObject (XmlJAXBContextFinder.java:48) at org.jboinderAAXBOOss.jboss.resteasy.providers : 114) at org.jboss.resteasy.plugins.providers.jaxb.XmlJAXBContextFinder.findCachedContext (XmlJAXBContextFinder.java:39) at org.jboss.resteasy.plugins.providers.jaxb.AbstractonteJAXBProvava org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.getMarshaller (AbstractJAXBProvider.java:112) at org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.writeTo resteasy.client.core.MessageBodyParameterMarshaller $ ClientRequestEntity.(MessageBodyParameterMarshaller.java:88) at org.jboss.resteasy.client.core.MessageBodyParameterMarshaller.buildRequest (MessageBodyParameterMarshaller.java:51) at org.jboss.resteasy.client.core.ClientInvoker.invava org.jboss.resteasy.client.core.ClientProxy.invoke (ClientProxy.java:46) at $ Proxy51.updateAccount (Unknown source) at com.amg.brides.wedsimple.client.WedSimpleClientImpl.updateAcclient (WedSimplejavaClient) at com.amg.brides.wedsimple.web.WedSimpleUpdateAccountEvent.invokeClient (WedSimpleUpdateAccountEvent.java:24) at com.amg.brides.wedsimple.web.AbstractWedSimpleAccount.Event.execute (AbstractWedSupple.AccountEvent.execute) .WebEventProcessor.processEvents (WebEventProcessor.java:29)88) at org.jboss.resteasy.client.core.MessageBodyParameterMarshaller.buildRequest (MessageBodyParameterMarshaller.java:51) at org.jboss.resteasy.client.core.ClientInvoker.invoke (ClientInvoker.java.j197) at orgteasybo .client.core.ClientProxy.invoke (ClientProxy.java:46) at $ Proxy51.updateAccount (Unknown source) at com.amg.brides.wedsimple.client.WedSimpleClientImpl.updateAccount (WedSimpleClientImpl.jamg:72) at brides.wedsimple.web.WedSimpleUpdateAccountEvent.invokeClient (WedSimpleUpdateAccountEvent.java:24) at com.amg.brides.wedsimple.web.AbstractWedSimpleAccountEvent.execute (AbstractWedSimpleAccountEvent) WebEventProcessor.java:29)88) at org.jboss.resteasy.client.core.MessageBodyParameterMarshaller.buildRequest (MessageBodyParameterMarshaller.java:51) at org.jboss.resteasy.client.core.ClientInvoker.invoke (ClientInvoker.java.j197) at orgteasybo .client.core.ClientProxy.invoke (ClientProxy.java:46) at $ Proxy51.updateAccount (Unknown source) at com.amg.brides.wedsimple.client.WedSimpleClientImpl.updateAccount (WedSimpleClientImpl.jamg:72) at brides.wedsimple.web.WedSimpleUpdateAccountEvent.invokeClient (WedSimpleUpdateAccountEvent.java:24) at com.amg.brides.wedsimple.web.AbstractWedSimpleAccountEvent.execute (AbstractWedSimpleAccountEvent) WebEventProcessor.java:29)buildRequest (MessageBodyParameterMarshaller.java:51) at org.jboss.resteasy.client.core.ClientInvoker.invoke (ClientInvoker.java:197) at org.jboss.resteasy.client.core.ClientProxy.invoke (ClientProxy.java:46) at $ Proxy51.updateAccount (Unknown source) at com.amg.brides.wedsimple.client.WedSimpleClientImpl.updateAccount (WedSimpleClientImpl.java:72) at com.amg.brides.wedsimple.web.WedSimpleUpdateAndateAccount ) at com.amg.brides.wedsimple.web.AbstractWedSimpleAccountEvent.execute (AbstractWedSimpleAccountEvent.java:35) at com.amg.brides.util.WebEventProcessor.processEvents (WebEventProcessor.java:29)buildRequest (MessageBodyParameterMarshaller.java:51) at org.jboss.resteasy.client.core.ClientInvoker.invoke (ClientInvoker.java:197) at org.jboss.resteasy.client.core.ClientProxy.invoke (ClientProxy.java:46) at $ Proxy51.updateAccount (Unknown source) at com.amg.brides.wedsimple.client.WedSimpleClientImpl.updateAccount (WedSimpleClientImpl.java:72) at com.amg.brides.wedsimple.web.WedSimpleUpdateAndateAccount ) at com.amg.brides.wedsimple.web.AbstractWedSimpleAccountEvent.execute (AbstractWedSimpleAccountEvent.java:35) at com.amg.brides.util.WebEventProcessor.processEvents (WebEventProcessor.java:29)invoke (ClientProxy.java:46) at $ Proxy51.updateAccount (Unknown source) at com.amg.brides.wedsimple.client.WedSimpleClientImpl.updateAccount (WedSimpleClientImpl.java:72) at com.amg.brides.wedsimple.weount .invokeClient (WedSimpleUpdateAccountEvent.java:24) at com.amg.brides.wedsimple.web.AbstractWedSimpleAccountEvent.execute (AbstractWedSimpleAccountEvent.java:35) at com.amg.brides.util.WebEventProcessor29.invoke (ClientProxy.java:46) at $ Proxy51.updateAccount (Unknown source) at com.amg.brides.wedsimple.client.WedSimpleClientImpl.updateAccount (WedSimpleClientImpl.java:72) at com.amg.brides.wedsimple.weount .invokeClient (WedSimpleUpdateAccountEvent.java:24) at com.amg.brides.wedsimple.web.AbstractWedSimpleAccountEvent.execute (AbstractWedSimpleAccountEvent.java:35) at com.amg.brides.util.WebEventProcessor29.AbstractWedSimpleAccountEvent.execute (AbstractWedSimpleAccountEvent.java:35) at com.amg.brides.util.WebEventProcessor.processEvents (WebEventProcessor.java:29)AbstractWedSimpleAccountEvent.execute (AbstractWedSimpleAccountEvent.java:35) at com.amg.brides.util.WebEventProcessor.processEvents (WebEventProcessor.java:29)

+1


source to share


2 answers


The main problem is that you are loading one or more xml related class files from the wrong jar. The application server does not allow you to modify these libraries because it has already loaded most of the parser from another implementation. I tried to check the contents of the jar files looking for javax / xml / namespace but stopped halfway. If you find a good chance there, you can get it without offending classes. People are known to manually delete such files from external jars.

You can probably enable som vm options to register class loading while the container is running. This is the java -verbose: class option.



Sorry I cannot pinpoint the exact problem;)

+4


source


Possible solution (worked for me)

In Websphere 7 I have the same problem with axes 1.3 and 1.4 I decided to remove QName.class from axis-jaxrpc-1.3.jar in WEB_INF \ lib



This is because QName.class was already present in another jar file.

+3


source







All Articles