ESB tRestClient bug? - Service runs in studio but not in runtime
Hi,
I am encountering an error when deploying a service into Talend ESB runtime. The service works as expected within the studio but throws a linkage error when running in the ESB runtime environment.
The job design has the following components (screenshot also attached of job design)
tESBProviderRequest >>> tRestClient (to make call to custom REST service) >> tlogrow >> textractJSONFields >> txmlmap >> tESBProviderResponse
As I say running this in the studio and sending a test request using SOAP Ui works without any errors. However when deployed in the runtime, although the service is published, when making a call to the service the following error is displayed.
has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Talend job execution error: loader constraint violation: when resolving method "org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.setServiceName(Ljavax/xml/namespace/QNameV" the class loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) of the current class, richie_project/edrgenericporttype_searchtest2_0_1/edrGenericPortType_searchtest2, and the class loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) for the method's defining class, org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean, have different Class objects for the type javax/xml/namespace/QName used in the signature
at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162)
at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:267)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:128)
I have included the full stack trace for the error. I notice an issue raised which refers to the use of context variables causing a similar problem.
https://jira.talendforge.org/browse/TESB-11530 Is the error I am getting the same as this bug?
Is this a bug with Talend or something not right in my job design? I am using version 6.1.1 on windows 7.
Any help would be appreciated.
Thank you,
Richard
Hi, Did you use context variable for tRESTClient url? If so, can you use absolute URL in tRESTClient to see if it works in runtime? Best regards Sabrina
Hi
The original job I developed did use contexts as the query parameters, but when it failed in runtime, i removed these.
The job I have now does not use any context variables but it still fails to run in the runtime container.
I have attached a screenshot of the trestclient settings.
Thanks,
Richard
Hi,
Thank you for the KB article, I hadn't seen this.
Carrying out the actions suggested I have been able to get the service working in runtime.
To do so, I removed the jaxrpc.jar from the bundle-classpath in the manifest.mf file.
I had to do this using Winrar, should it be possible to do this using the studio?
Thanks for your help.
Richard