textractXMLField with "ignore namespaces" causes runtime exception in TOS ESB 7.0.1 runtime

Highlighted
Five Stars

textractXMLField with "ignore namespaces" causes runtime exception in TOS ESB 7.0.1 runtime

Hi,

After migrating some projects to TOS ESB 7.0.1 (from 6.5) it seems that this new problem occurs when running in the runtime.

A textractXMLField component with "ignore namespaces" activated will cause this runtime exception when run in the container/runtime:

Exception in component tRunJob_1 (custom_logging_amm)
java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
        at amm_project.custom_logging_amm_0_1.custom_logging_amm.tRESTRequest_1_LoopProcess(custom_logging_amm.java:2543)
        at amm_project.custom_logging_amm_0_1.custom_logging_amm$RestServiceProviderImpl4TalendJob.processRequest(custom_logging_amm.java:436)
        at amm_project.custom_logging_amm_0_1.custom_logging_amm$RestServiceProviderImpl4TalendJob.abcd(custom_logging_amm.java:527)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179)
        at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:192)
        at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:103)
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
        at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
        at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:247)
        at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:79)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1182)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1116)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
        at org.eclipse.jetty.server.Server.handle(Server.java:534)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
        at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
        at amm_project.custom_logging_amm_0_1.custom_logging_amm.tRESTRequest_1_LoopProcess(custom_logging_amm.java:2060)
        ... 34 more
Caused by: java.lang.ClassNotFoundException: org.jaxen.NamespaceContext cannot be found by amm_project.custom_logging_amm_0.1.0
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

 

This did not occur with 6.5 and does not occur when running the job in the studio. I tried to manually include the jaxen library via import in the java code in the job and also with the "tlibraryload" component but the problem still occurs. If I turn off the "ignore namespaces"in the component then it does not happen anymore. however in this use case I need this option turned on.

Is this maybe a bug in the new Talend? Has anyone seen this before? Thanks!

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

Talend API Designer – Technical Overview

Take a look at this technical overview video of Talend API Designer

Watch Now

Getting Started with APIs

Find out how to get started with APIs

Read