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

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!