JAXBElement Linkage error in AEM 6 | Community
Skip to main content
Level 2
October 16, 2015
Solved

JAXBElement Linkage error in AEM 6

  • October 16, 2015
  • 5 replies
  • 1855 views

Hi ,

I am using JDK 7 ,AEM 6

I am using axis 1.4.1 to consume a soap service . I have generated  my utility classes using XJC from schema.

I am able to hit the service from osgi after getting string as xml response I am marshalling it to JAXB .where I am getting below error.

Please suggest any solution to this . 

 

 

 org.apache.sling.commons.scheduler.impl.QuartzScheduler Exception during job execution of com.hrdi.scheduler.ATGToDAMScheduler@30fdc9e8 : loader constraint violation: when resolving method "javax.xml.bind.JAXBElement.<init>(Ljavax/xml/namespace/QName;Ljava/lang/Class;Ljava/lang/Object;)V" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) of the current class, com/hrdi/utils/HoltXmlUtil, and the class loader (instance of <bootloader>) for resolved class, javax/xml/bind/JAXBElement, have different Class objects for the type ava/lang/Object;)V used in the signature
java.lang.LinkageError: loader constraint violation: when resolving method "javax.xml.bind.JAXBElement.<init>(Ljavax/xml/namespace/QName;Ljava/lang/Class;Ljava/lang/Object;)V" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) of the current class, com/hrdi/utils/HoltXmlUtil, and the class loader (instance of <bootloader>) for resolved class, javax/xml/bind/JAXBElement, have different Class objects for the type ava/lang/Object;)V used in the signature
    at com.hrdi.utils.HoltXmlUtil.ConvertToXML(HoltXmlUtil.java:32)
    at com.hrdi.scheduler.MetaDataHelper.invokeATGProductFeedService(MetaDataHelper.java:71)
    at com.hrdi.scheduler.ATGToDAMScheduler.run(ATGToDAMScheduler.java:50)
    at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:105)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:207)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by smacdonald2008

Its not recommended to use AXIS to consume a web service. We recommend using Apache CXF. 

https://helpx.adobe.com/experience-manager/using/creating-cxf-bundles-consume-web.html

5 replies

Lokesh_Shivalingaiah
Level 10
October 16, 2015

Hey, this usually happens when there is a conflict with jars. Check this out [1] and see if it helps 

[1] https://forums.aws.amazon.com/thread.jspa?messageID=68759

smacdonald2008
smacdonald2008Accepted solution
Level 10
October 16, 2015

Its not recommended to use AXIS to consume a web service. We recommend using Apache CXF. 

https://helpx.adobe.com/experience-manager/using/creating-cxf-bundles-consume-web.html

d_pattyAuthor
Level 2
October 16, 2015

bsloki wrote...

Hey, this usually happens when there is a conflict with jars. Check this out [1] and see if it helps 

[1] https://forums.aws.amazon.com/thread.jspa?messageID=68759

 

 

Hi,

 

Thank you for the reply.It looks like kind of class loading issue and javax.xml.bind is getting loaded from multiple bundle .But I am not sure from where it is coming .I am using jdk 1.7 it is coming with part of jdk. So I am not  adding explicitly anything to bundle class path as well as for compilation .Not sure it is CQ issue or in my bundle.

Lokesh_Shivalingaiah
Level 10
October 16, 2015

As you said, its conflicting with one of the bundle with CQ. Can you raise a support ticket on the same 

d_pattyAuthor
Level 2
October 16, 2015

This issue is AEM 6 instance .javax.xml is getting exported from felix.framework which is compiled using java5. My class is getting compiled with JDK 7 .over riding the package export by delegation solved the issue.

 

javax.xml is not getting exported from felix.framework bundle by that and it fixed the issue.