[resolved] Talend ESB Runtime - LinkageError when resolving SoapFault

Four Stars

[resolved] Talend ESB Runtime - LinkageError when resolving SoapFault

Hi,
I've created a service which runs fine (both successful and fault response) when running in Open Studio however, when I export the service and deploy it to my Talend ESB SE Runtime environment, I get the following error when attempting to send a fault response (tESBProviderFault) and my request will eventually timeout.  On successful requests, the service is responding OK.
2015-02-10 09:16:12,590 | ERROR | pool-13-thread-3 | JobExecutorFactory               | er.internal.JobExecutorFactory$1   35 | 191 - org.talend.esb.job.controller - 5.5.1 | Uncaught exception in job executor thread:
java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.cxf.binding.soap.SoapFault.<init>(Ljava/lang/String;Ljavax/xml/namespace/QNameSmiley WinkV" the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current class, my_company/svinventoryporttypesoap_getsitetankconfig_0_1/svInventoryPortTypeSOAP_GetSiteTankConfig$ESBProviderCallbackTalendJobWrapper_tESBProviderRequest_1, and the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for resolved class, org/apache/cxf/binding/soap/SoapFault, have different Class objects for the type javax/xml/namespace/QNameSmiley WinkV used in the signature
        at my_company.svinventoryporttypesoap_getsitetankconfig_0_1.svInventoryPortTypeSOAP_GetSiteTankConfig$ESBProviderCallbackTalendJobWrapper_tESBProviderRequest_1.sendBusinessFault(svInventoryPortTypeSOAP_GetSiteTankConfig.java:739)
        at my_company.svinventoryporttypesoap_getsitetankconfig_0_1.svInventoryPortTypeSOAP_GetSiteTankConfig.tESBProviderRequest_1_LoopProcess(svInventoryPortTypeSOAP_GetSiteTankConfig.java:2793)
        at my_company.svinventoryporttypesoap_getsitetankconfig_0_1.svInventoryPortTypeSOAP_GetSiteTankConfig.runJobInTOS(svInventoryPortTypeSOAP_GetSiteTankConfig.java:3169)
        at org.talend.esb.job.controller.internal.RuntimeESBProviderCallback.run(RuntimeESBProviderCallback.java:120)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)

I'm hoping someone could help point me in the right direction to resolve this issue as my Google search has come up empty thus far.
Thanks,
tbourque

Accepted Solutions
Four Stars

Re: [resolved] Talend ESB Runtime - LinkageError when resolving SoapFault

Hi,
I was able to resolve my own issue.  After using 7-zip to browse within my .kar file, I was able to find that the xml-apis-xerces-2.9.1.jar file was included within my service job jar file.  I then changed to the Java perspective within Open Studio and performed a File Search for xml-apis-xerces-2.9.1.jar and found that it was found within a UserDefined routine properties file for a routine that was completely unrelated to my service job.  Once I removed the routine from my job's dependency (right-click on the job and select Setup Routine Dependencies) and re-exported my service, I no longer experienced the LinkageError.
Thanks,
tbourque

All Replies
Four Stars

Re: [resolved] Talend ESB Runtime - LinkageError when resolving SoapFault

Hi,
I was able to resolve my own issue.  After using 7-zip to browse within my .kar file, I was able to find that the xml-apis-xerces-2.9.1.jar file was included within my service job jar file.  I then changed to the Java perspective within Open Studio and performed a File Search for xml-apis-xerces-2.9.1.jar and found that it was found within a UserDefined routine properties file for a routine that was completely unrelated to my service job.  Once I removed the routine from my job's dependency (right-click on the job and select Setup Routine Dependencies) and re-exported my service, I no longer experienced the LinkageError.
Thanks,
tbourque

Calling Talend Open Studio Users

The first 100 community members completing the Open Studio survey win a $10 gift voucher.

Start the survey

2019 GARNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

What’s New for Talend Summer ’19

Watch the recorded webinar!

Watch Now

Best Practices for Using Context Variables with Talend – Part 4

Pick up some tips and tricks with Context Variables

Blog

How Media Organizations Achieved Success with Data Integration

Learn how media organizations have achieved success with Data Integration

Read

APIs for Dummies

View this on-demand webinar about APIs....

Watch Now